Java ActiveMQ中代理在同一台计算机上运行2个或多个实例的动态名称
我需要在同一台机器上运行两个独立应用程序的实例,该应用程序使用JMS和本地ActiveMQ。我有一个jms上下文配置文件,在应用程序启动时加载。我使用KahaDB作为持久性适配器 两个实例的文件jms上下文相同,因此localBroker的属性“brokerName”具有相同的名称Java ActiveMQ中代理在同一台计算机上运行2个或多个实例的动态名称,java,jms,activemq,Java,Jms,Activemq,我需要在同一台机器上运行两个独立应用程序的实例,该应用程序使用JMS和本地ActiveMQ。我有一个jms上下文配置文件,在应用程序启动时加载。我使用KahaDB作为持久性适配器 两个实例的文件jms上下文相同,因此localBroker的属性“brokerName”具有相同的名称 <bean id="broker" class="org.apache.activemq.xbean.XBeanBrokerService"> <property name="useJmx"
<bean id="broker" class="org.apache.activemq.xbean.XBeanBrokerService">
<property name="useJmx" value="true"/>
<property name="brokerName" value="fileProcessorLocalBroker"/>
<property name="persistent" value="true"/>
<property name="destinationPolicy" ref="destinationPolicy"/>
<property name="managementContext" ref="managementContext"/>
<property name="persistenceAdapter" ref="persistenceAdapter"/>
...
</bean>
...
当我运行应用程序的第二个实例时,我得到以下结果:
2014-07-21 12:37:04,377 INFO [org.apache.activemq.store.SharedFileLocker] - <Database activemq-data\fileProcessorLocalBroker\KahaDB\lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOException: File 'activemq-data\fileProcessorLocalBroker\KahaDB\lock' could not be locked.>
2014-07-21 12:37:04377信息[org.apache.activemq.store.SharedFileLocker]-
localbroker的属性brokerName是否有使用动态名称的方法
ActiveMQ本身不支持使用动态代理名称启动。但是,可以使用属性表达式从某些环境值或定义的其他源读取名称。有关一些线索,请参见: