在runFromConfig中,有构建了一个ServerCnxnFactory.

public void runFromConfig(QuorumPeerConfig config) throws IOException { //… LOG.info("Starting quorum peer"); try { ServerCnxnFactory cnxnFactory = ServerCnxnFactory.createFactory(); cnxnFactory.configure(config.getClientPortAddress(),config.getMaxClientCnxns()); //… quorumPeer.setCnxnFactory(cnxnFactory); 并且将这个factory设置给了quorumPeer的成员属性 //… 

这个很明显是一个工厂模式,基于这个工厂类创建什么呢? 打开createFactory方法看看就知道了

ZkServer服务启动的逻辑-QuorumPeerMain.runFromConfig相关推荐

  1. ZkServer服务启动的逻辑-NIOServerCnxnFactory.configure

    thread其实构建的是一个zookeeperThread线程,并且线程的参数为this,表示当前NIOServerCnxnFactory也是实现了线程的类,那么它必须要重写 run方法,因此定位到N ...

  2. ZkServer服务启动的逻辑-NIOServerCnxnFactory.start

    这里通过thread.start启动一个线程,那thread是一个什么对象呢? public void start() { // ensure thread is started once and o ...

  3. ZkServer服务启动的逻辑-QuorumPeer.start

    因此,我们再回到QuorumPeer.start()方法中,cnxnFactory.start(),应该会调用NIOServerCnxnFactory这个类去启动一个线程 public synchro ...

  4. ZkServer服务启动的逻辑-ServerCnxnFactory.createFactory

    这个方法里面是根据ZOOKEEPER_SERVER_CNXN_FACTORY 来决定创建NIO server还是Netty Server 而默认情况下,应该是创建一个NIOServerCnxnFact ...

  5. DolphinScheduler服务启停

    1. 服务启停 cd /home/hadoop/app/dolphinscheduler/bin ⼀键停⽌集群所有服务 sh ./bin/stop-all.sh ⼀键开启集群所有服务 sh ./bin ...

  6. filebeat服务启停

    filebeat的服务启停 filebeat的启动通过二进制文件来实现,如: ./filebeat -e -c filebeat.yml. 注:-e指定filebeat.yml配置文件 实现后台启动可 ...

  7. SFB 项目经验-18-三台前端服务器同时停止两台后-前端服务启不来

    问题描述: 在企业中,针对Skype for business Server 2015的前端服务器一般使用3台加入前端服务器池中,再通过硬件负载均衡器进行前端服务器的Web服务器的负载. 但如果你关闭 ...

  8. ceph——rgw服务启不起来

    环境:SUSE SESv5版本--对应社区ceph的L版本(12.2) 故障背景:在给ceph集群扩充第四个节点的时候,运行到stage4,报错: sesadmin:~ # salt-run stat ...

  9. 脚本实现oracle服务启停,通用服务启停shell脚本

    ################################### #通用启停脚本 #david ################################### APP_NAME=myAp ...

最新文章

  1. 服务器的文件共享,服务器文件共享设置
  2. 品牌网络推广方案浅析在编写文章标题时都有什么技巧?
  3. 计算机专业考研英语二国家线,历年考研英语国家线汇总(2009-2020)
  4. A % B Problem
  5. cf体验服_CF手游体验服_穿越火线枪战王者体验服申请_12月版本
  6. 节约内存编程方式操作系统(全概念)
  7. node.js 异步_Node.js v14中的异步本地存储是什么?
  8. 简单混淆密码加密和解密
  9. swift实现队列_Swift队列数据结构实现
  10. ArcView GIS 应用与开发技术(2)-Tables
  11. 2019 CCF 推荐 中文期刊
  12. 9种常用的数据分析方法
  13. 抱米花豆丁下载器20100529(单文件绿色版)
  14. 华硕Chromebox-cn 62+i7-5500 U+HD 5500
  15. 国内O2O运营模式逐渐改变我们生活方式
  16. java类库编程_进阶Java编程(5)基础类库
  17. UPDATE的两个实例
  18. 六:Consumer订阅流程
  19. C语言(谭浩强版本,主讲人:小甲鱼)P41-P49
  20. STM32---ucosii和ucosiii

热门文章

  1. 看C++文档的小知识
  2. activemq的使用经验
  3. 20162302 《程序设计与数据结构》第一周学习总结
  4. openresty 环境搭建
  5. [沪江日语电台]ACG杂货铺02-乱唱地带
  6. 【Spring MVC学习】spring mvc入门示例
  7. golang刷Leetcode系列 --- 加1
  8. hosts文件中同一个域名两个IP的解析顺序
  9. Windows 8 Release Preview 安装秘技两则
  10. 面试总结之MISC(操作系统,网络,数学,软件开发,测试,工具,系统设计,算法)...