这个方法里面是根据ZOOKEEPER_SERVER_CNXN_FACTORY 来决定创建NIO server还是Netty Server

而默认情况下,应该是创建一个NIOServerCnxnFactory

static public ServerCnxnFactory createFactory() throws IOException { String serverCnxnFactoryName = System.getProperty(ZOOKEEPER_SERVER_CNXN_FACTORY); if (serverCnxnFactoryName == null) { serverCnxnFactoryName = NIOServerCnxnFactory.class.getName(); } try { ServerCnxnFactory serverCnxnFactory = (ServerCnxnFactory) Class.forName(serverCnxnFactoryName).getDeclaredConstructor().newInstance(); LOG.info("Using {} as server connection factory", serverCnxnFactoryName); return serverCnxnFactory; } catch (Exception e) { IOException ioe = new IOException("Couldn't instantiate " + serverCnxnFactoryName); ioe.initCause(e); throw ioe; }
}

ZkServer服务启动的逻辑-ServerCnxnFactory.createFactory相关推荐

  1. ZkServer服务启动的逻辑-QuorumPeerMain.runFromConfig

    在runFromConfig中,有构建了一个ServerCnxnFactory. public void runFromConfig(QuorumPeerConfig config) throws I ...

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

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

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

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

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

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

  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. Solr Cache使用介绍及分析
  2. resize函数_Excel VBA解读(134): 使用Excel函数提高自定义函数的效率
  3. Windows x64内核学习笔记(五)—— KPTI(未完待续)
  4. 【AI白身境】学深度学习你不得不知的爬虫基础
  5. OpenCASCADE绘制测试线束:布尔运算命令之构建操作结果
  6. 在Windows下如何创建虚拟环境(默认情况下)
  7. seaborn画图设置横纵坐标标签
  8. 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】
  9. 项目学习类容,日期处理,SQL语句查询,hashtable的运用,R语言包的环境配置
  10. 中南大学-大学生心理健康教育-MOOC/雨课堂-图片版答案(期末测试)
  11. 抽象代数之拉格朗日定理的证明
  12. 前端开发基础-JavaScript
  13. oracle-in/exists
  14. 再见python你好julia_再见,Python2。你好,Python3
  15. java calendar 时分秒_java 时间处理类Calendar获取年月日时分秒毫秒的方法实例
  16. 增量备份、差异备份、增量备份的区别?
  17. 【MySQL】 # MySQL相关面试题
  18. 天下文章一大抄,前人的成果不要跑
  19. 钓鱼邮件翻倍:2021年Q4企业邮箱安全报告出炉
  20. 投影坐标方差车牌垂直校正matlab实现,基于投影坐标p次方差及粒子群的车牌倾斜检测...

热门文章

  1. Eclipse出现ContextLoaderListener not find
  2. 随时间的反向传播算法 BPTT
  3. 冲刺阶段——Day5
  4. Android-滑动解锁高亮文字自定义TextView
  5. 我的Java知识复习回顾笔记
  6. 字典转模型的过程中,空值和id特殊字符的处理
  7. ⭐register_chrdev、register_chrdev_region以及alloc_chrdev_region之间的区别
  8. Sqlite 错误码
  9. 0301 - 一个比价的小项目
  10. 反射的基石——Class类