1. Broker启动的时候是如何初始化自己的核心配置的?
启动Broker的时候也是通过mqbroker这种脚本来实现的,最终脚本里一定会启动一个JVM进程,开始执行一个main class的代码。
实际上Broker的JVM进程启动之后,会执行BrokerStartup的main()方法,这个BrokerStartup类,就在rocketmq源码中的broker模块里,大家看下图的源码截图,就会看到这个类。
是不是发现跟NamesrvStratup里的一段代码是很类似的?同样都是先创建了一个Controller核心组件,然后用start()方法去启动这个Controller组件!
开始分析BrokerController的创建过程
进入了createBrokerContorller()方法之后,首先你会看到下面的一堆代码:
public static BrokerController createBrokerController(String