运行时配置
从 5.9.0 版本开始,一个新的代理插件将允许对代理 XML 配置进行选择性更改,而无需重启代理。
考虑一个零售环境,其中有中央处理器(集线器)和商店(辐条)。能够添加新的商店
而没有任何停机时间是有利的。
添加新的商店可能需要新的网络连接器和一些新的授权策略,这两者现在都可以动态修改。
插件通过代理 XML 配置进行配置,如下所示
<broker xmlns="https://activemq.apache.org/schema/core" start="false" ... >
<plugins>
<runtimeConfigurationPlugin checkPeriod="1000" />
</plugins>
...
</broker>
注意:start="false"
属性。它确保 xbean-spring 在应用程序上下文加载时不会自动启动代理。
这确保了插件对代理的引用在使用之前完全初始化,并且可以成功解析 XML 配置位置。
checkPeriod 大于 0 时,是检查代理 XML 配置 URL 的 lastupdate 时间戳更改的时间间隔(毫秒)。
如果 checkPeriod 为 0(默认值),则不会自动检查更改,但可以通过 JMX 触发手动检查。
支持运行时修改的配置元素
<networkConnectors>
<destinationPolicy><policyMap><policyEntries>
<plugins><authorizationPlugin><map><authorizationMap><authorizationEntries>
<destinationInterceptors><virtualDestinationInterceptor><virtualDestinations>
可以在 AMQ-4682 中找到更多实现细节和指向测试的链接