zoukankan      html  css  js  c++  java
  • 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();

    }

  • 相关阅读:
    boke
    Http post/get
    记一次网站优化---图片压缩与移动端画面缩放问题
    深入浅出 Vue.js 第九章 解析器---学习笔记
    Linux/Mac中alias的使用
    JavaScript中的函数柯里化与反柯里化
    JavaScript中深拷贝实现
    JavaScript中的节流和防抖
    博客园加入百度统计遇到的坑
    记一次无数据库下动态更新文案的解决历程
  • 原文地址:https://www.cnblogs.com/lovlos/p/7237957.html
Copyright © 2011-2022 走看看