开发者社区 问答 正文

请教:关于canal客户端报com.alibaba.otter.canal.protocol.exc

while (true) { Message message = connector.getWithoutAck(1); // 获取指定数量的数据 long batchId = message.getId(); int size = message.getEntries().size(); if (batchId == -1 || size == 0) { System.out.println("empty count : " + emptyCount); } else { System.out.printf("message[batchId=%s,size=%s] \n", batchId, size); } try { Thread.sleep(40000); } catch (InterruptedException e) { } connector.ack(batchId); // 提交确认 } 上面我取完数据,sleep个40秒,canal连接就会断掉,报标题说明的错, 但是我如果只是Thread.sleep(5000);,sleep个5秒之类的,不会有问题。。求指导这是啥原因。 基于最新版本1.0.25。

原提问者GitHub用户zhangmy6666

展开
收起
绿子直子 2023-05-09 11:55:49 144 分享 版权
1 条回答
写回答
取消 提交回答
  • SimpleCanalConnector里设置的soTimeout会传递到server端进行超时管理,默认60秒

    原回答者GitHub用户agapple

    2023-05-10 10:22:00
    赞同 展开评论