前言
最近在看ActiveMQ5.15.0源码,发现ActiveMQ实际上是基于spring实现的,其配置文件activemq.xml中有个broker元素节点,使用的就是Apache XBean的配置方式,即broker bean的配置。
broker bean对应的类
xml中的broker元素所配置的对应的bean的对应类如下:
org.apache.activemq.xbean.XBeanBrokerService
在该类的Java doc注释上,我们可以找到xbean的注解如下所示
@org.apache.xbean.XBean element="broker" rootElement="true"
其表示的含义即该类对应的元素节点是broker,且为根节点;
另外,观察XBeanBrokerService类的afterPropertiesSet方法,还可以发现如下注解
@org.apache.xbean.InitMethod
类似于配置spring bean时,在bean元素上配置init-method属性,即bean的初始化方法,该方法是ActiveMQ启动时候非常关键的方法,相当于入口,会触发启动BrokerService,启动Connectors等一系列动作
Apache XBean其它注解
这里稍微列举几个常用的,有兴趣请查阅相关文档,
org.apache.xbean.XBean
org.apache.xbean.Property
org.apache.xbean.InitMethod
org.apache.xbean.DestroyMethod