activeMQ JDBC Master Slave

   为了保证activeMQ的高可用性及避免activeMQ故障,activeMQ中提供了几种集群方案解决此类问题,详细文字说明阅读如下文章:
1\ ActiveMQ集群应用
2\ ActiveMQ JDBC 主从集群
3\ 解决单点故障:JDBC Master Slave

本人应用的为集群方案中的一种, JDBC Master Slave ,说明及好处就看如上外链文章了,上正题,方案如何实施及程序如何调用
1\配置多个activeMQ ,其实就是复杂原有activeMQ安装文件,修改如下配置:
(1)\ brokerName
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost02" dataDirectory="${activemq.data}" useJmx="true">
(2)\ 服务端口
<transportConnectors>
    <transportConnector name="openwire" uri="tcp://0.0.0.0:61618"/>
</transportConnectors>
(3)\ useDatabaseLock 为true
<persistenceAdapter>
    <jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#mysql-ds" createTablesOnStartup="false" useDatabaseLock="true"/>
</persistenceAdapter>


注:useDatabaseLock="true" 必需设置,不然在保存数据时会报数据主键重复异常

2\程序调用
原:
new ActiveMQConnectionFactory("admin","xxxxxx","tcp://0.0.0.0:61616");

现:
new ActiveMQConnectionFactory("admin","xxxxxx","failover:(tcp://localhost:61616,tcp://localhost:61617,tcp://localhost:61618)");


完事,就这么简单,END。。。。。。

猜你喜欢

转载自showlike.iteye.com/blog/2040809