开发者社区> 问答> 正文

请教:关于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 85 0
1 条回答
写回答
取消 提交回答
  • SimpleCanalConnector里设置的soTimeout会传递到server端进行超时管理,默认60秒

    原回答者GitHub用户agapple

    2023-05-10 10:22:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载