当前版本:jdk1.8
、iotdb 0.11.2
1. 声明
当前内容主要查看Iotdb服务启动过程中的rpc的绑定的源码解析(通过之前的解析可以得到IotDB的rpc服务必定是Thrift的实现,通信中Session使用的为Client)
2. 找到启动类
一般是通过start-server.bat启动的所以可以通过该脚本发现启动类的位置
发现使用org.apache.iotdb.db.service.IoTDB这个类作为启动类,开始下载源码并找到启动类
可以从里面找到IoTDB这个类就可以得到结果了
3. 分析IoTDB启动类
构建一个IoTDB的实例,开启校验检查,最后调用setUp方法启动
通过查看代码发现RegisterManager在注册一个实例的时候就会自动调用该实例的start方法(Thrift本身就是用来构建rpc服务的)
继续找到RPCService发现没有start方法,所以可以通过ThriftService得到start方法
public class RPCService extends ThriftService implements RPCServiceMBean
ThriftService 中的代码
@Override
public void start() throws StartupException {
JMXService.registerMBean(getImplementation()