@Override
public void run() {//类似这种线程有三个,只是订阅的表不一样,但是共用同一个canalConnector while (true){ try { int batchSize = 1000; canalConnector.subscribe("shop.shop" ); Message message = canalConnector.getWithoutAck(batchSize); ..... ..... ..... }
我开了三个线程,三个线程都是共用同一个canalConnector,然后每个线程subscribe分别订阅一张表的信息(比如线程A订阅shop表,线程B订阅user表)。但是这时候无论修改任何mysql信息,canal都无法订阅到消息。只有关闭掉其它线程,只保留一个线程时才会订阅到消息(保留任何一个都可以)。最终暂时选择开启一个线程,订阅所有表的信息,然后根据不同的表信息做不同的业务处理。 请问同一个canalConnector不能开启多个线程,分别subscribe不同的表吗?谢谢
原提问者GitHub用户hei-my
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。