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();

    }

  • 相关阅读:
    【个人博客设计】
    复杂多边形光栅化算法
    xmake 描述语法和作用域详解
    协程分析之context上下文切换
    tbox协程使用之切换与等待
    记boost协程切换bug发现和分析
    跨平台自动构建工具v1.0.2 发布
    xmake从入门到精通9:交叉编译详解
    xmake从入门到精通9:交叉编译详解
    跨平台c开发库tbox:内存库使用详解
  • 原文地址:https://www.cnblogs.com/lovlos/p/7237957.html
Copyright © 2011-2022 走看看