• canal client leader


    //选举

    RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 3);  

            CuratorFramework client = CuratorFrameworkFactory.builder().connectString(zookeeper).sessionTimeoutMs(5000).connectionTimeoutMs(3000).retryPolicy(retryPolicy).namespace("canalClient").build();  

            client.start();  

            

            IszLogger.error("=====");

            CanalConnector connector = getCanalConnector(connectorType);

    connector.connect();

    connector.subscribe(subscribeReg);

    IszLogger.error("*****");

     

            // 选举Leader 启动  

            @SuppressWarnings("resource")

    final LeaderLatch latch = new LeaderLatch(client,"/canalClient");

              latch.addListener(new LeaderLatchListener() {        

                 public void isLeader() {

                 //启动监听

                 IszLogger.error("leader==============");

              subscribeAndDealCanal();

                 }              

                 public void notLeader() {

                 IszLogger.error("not leader==============");

                 }

             });          

             try {

             latch.start(); 

             IszLogger.error("start阻塞==============");

    latch.await();

    IszLogger.error("通过阻塞================");

    } catch (Exception e) {

    e.printStackTrace();

    }

  • 相关阅读:
    cookie简介
    Javaweb
    apache-tomcat-7.0.92
    学javaweb 先学Servlet 应用理论很重要
    DataGuard切换(主库为Rac+备库为Rac)
    Oracle 迁移 序列
    oracle SQL 执行进度
    ORA-20011 ORA-29913 KUP-11024 GATHER_TABLE_STATS
    盘点 Oracle 11g 中新特性带来的10大性能影响
    查询近一个月的表空间使用情况
  • 原文地址:https://www.cnblogs.com/lovlos/p/7237957.html
Copyright © 2020-2023  润新知