启动流程
2020-06-12 16:42:42 0 举报
tigase启动流程
作者其他创作
大纲/内容
判断System.getProperty()中是否存在
调用过程
结束该方法
判断initProperties属性中是否存在
XMPPServer.start()
否
把自身作为组件,添加进组件管理
该JID的作用还有待验证
判断是否满足条件
ConfiguratorAbstract
修改打印日志格式
加载对应配置的configurator
Class.forName(mr_class_name).newInstance()
根据组件名称获取配置仓库prop=configRepo.getProperties(compId)
暂时不知道作用updateServiceDiscoveryItem()
判断是否开启OSGI
inProperties
调用父类方法初始化线程、过滤super.setProperties(props)
调用start()方法
调用
把组件放入注册组件管理器中
key.startsWith(\"-\") || key.equals(\"config-type\")
config.setName( \"basic-conf\" );
调用Main方法
setProperties()
遍历得到的配置存入prop属性中
可以重写getDefaults()方法返回当前组件的配置component.getDefaults(getDefConfigParams())
router.start()
是
获取属性为props中components/registrators/id-names的数组
判断是否已经初始化
存入registrators中font color=\"#ff0000\
把遍历结果,存入components、components_byId、xmppServices属性中
--stringprep-processor
启动对应组件componentAdded((E) component)
开启monitor服务,用于监控控协议
不开启monitor服务
开始setProperties()
遍历initSettings属性
registr.addComponent(comp)
可以调用该方法,记录在数据库中,目前该方法没有实现configRepo.initRepository();
config.getMessageRouterClassName()
configRepo.setDefHostname(host)
存入注册组件的components属性中font color=\"#ff0000\
设置配置仓库改变监听configRepo.addRepoChangeListener(this)
解析启动参数parseArgs(args)
开始registr.addComponent(comp)
XMPPServer.main()
使用默认字符串处理器XMPPStringPrepFactory.getDefaultXMPPStringPrep()
调用初始化结束方法
router.setName(serverName)
获取组件名称component.getName()
开始setup(component)
根据遍历结果,创建ConfigItem对象
this.config = config
存入components中font color=\"#ff0000\
存入系统属性System.setProperty()
AbstractComponentRegistrator
设置名称,并创建该组件的JID
判断JVM是否设置 -Dtigase-configurator
遍历components组件
开始router.setConfig()
Tigase
遍历initProperties属性
return true
获取路由对象名称
记录在initProperties属性中
--property-file
开始parseArgs()
初始化ConfiguratorAbstract
遍历components属性
判断key是否满足条件
调用config.init(args);
启动路由线程监听
key.startsWith(\"--\")
MessageRouter
将遍历的结果存入注册组件中
设置配置组件
可以重写setProperties()方法设置启动参数配置component.setProperties(prop)
isCorrectType(component)
设置默认Hostname
存入initProperties属性中
设置名称,初始化路由线程池大小,并创建该组件的JID
comp.initializationCompleted()
Tigase启动流程
router.setConfig(config)
判断是否是正确的类型
把对应的属性文件转化成Properties对象
component == this && setup_in_progress
存入initSettings属性中
把最新的配置存入font color=\"#ff0000\
初始化路由对象
存入initSettings属性中,并初始化为新的配置仓库
加载新字符串处理器BareJID.useStringprepProcessor()
加载默认配置的tigase.conf.Configurator
tigase-config-repo-class
遍历该数组,获取ComponentRegistrator对象,释放并重新启动
获取属性为props中components/msg-receivers/id-names的数组
开始config.init()
遍历该数组,获取ServerComponent对象,释放并重新启动
业务流程
return false
设置路由配置,并完成组件的初始化
--property-file && --monitoring
遍历registrators属性
0 条评论
下一页