我们正在运行一个ActiveMQ代理 - 它是通过Spring XML配置的 - 在JBoss 7中。
我们想重新使用JBoss的socket-binding-groups来使ActiveMQ代理端口动态配置。
JBoss通过JMX公开socket-binding-groups的端口。所以我们目前的想法是从Spring XML中访问MBean(以及它的端口属性)并以适当的方式注入它。
这是我们当前的broker-config.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
<broker xmlns="http://activemq.apache.org/schema/core"
useJmx="true" useShutdownHook="false" persistent="true" brokerName="localhost">
...
<transportConnectors>
<transportConnector name="openwire" uri="tcp://0.0.0.0:${amq.port}?trace=true?maximumConnections=1000&wireformat.maxFrameSize=104857600"/>
</transportConnectors>
</broker>
</beans>
正如您所看到的,我们当前正在使用Spring amq.port
从配置中引用系统属性PropertyPlaceholderConfigurer
。有没有办法让PropertyPlaceholderConfigurer
通过检索MBean属性(或者类似的)来创建属性?
亲切的问候, 迈克尔