我需要通过启用kahadb来启用activemq embedded broker的本地持久性。如何在bean xml文件中配置kahadb。
<bean id="producerBroker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="brokerName" value = "producerBroker"/>
<property name="persistent" value="true"/>
<property name="transportConnectorURIs">
<list>
<value>tcp://localhost:7005</value>
</list>
</property>
<property name="jmsBridgeConnectors">
<list>
<bean class="org.apache.activemq.network.jms.JmsQueueConnector">
<property name="outboundQueueConnectionFactory">
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="http://localhost:8090" />
</bean>
</property>
<property name="outboundQueueBridges">
<list>
<bean class="org.apache.activemq.network.jms.OutboundQueueBridge">
<constructor-arg value="qvsample"/>
</bean>
</list>
</property>
</bean>
</list>
</property>
</bean>编辑
ActiveMQ的默认持久性数据库是kahoDb。这句话是<property name="persistent" value="true"/>做的。我需要知道如何将这个数据库更改为另一个数据库。另外,我需要一个很好的参考来为activemq配置spring文件?
发布于 2015-06-01 12:44:05
您可以创建一个org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter bean,并通过persistenceAdapter属性将其注入代理。
例如。
<bean id="persistenceAdapter" class="org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter">
<property name="directory" value="D:\test"/>
</bean>
<bean id="producerBroker" class="org.apache.activemq.broker.BrokerService" init-method="start" destroy-method="stop">
<property name="persistenceAdapter" ref="persistenceAdapter"/>
</bean>只要实现org.apache.activemq.store.PersistenceAdapter,您就可以使用任何其他持久性适配器(例如leveldb)。
https://stackoverflow.com/questions/30567240
复制相似问题