ActiveMQ使用MySQL进行消息持久化
使用MySQL进行ActiveMQ的消息持久化,并设置主从模式1、MySQL数据库的binlog日志模式要设置为 mixed 模式
2、设置使用数据库锁 useDatabaseLock="true" ,如果不设置,在主从模式下会报主键重复的异常。
[*]
[*]
[*]
3、使用数据库锁的时候,master启动后,slave由于数据库锁的原因,启动时处于等待状态,这时slave无法提供服务,当master当机后,数据库锁释放,slave获得数据库锁,可以提供服务。
4、虽然设置的主从模式,但当master当机时,接收者会有数据丢失问题,而且问题比较严重。考虑可能是由于没有 Journal 的原因,但不知道为什么ActiveMQ 5.0以后版本不支持 journaledJDBC ,也可能是没有找到正确的设置方法。(原因是在消息发送端设置了异步发送,导致发送和接收的消息数不一致,修改为同步发送后,消息不丢失,发送和接收的消息数一致)
ActiveMQ使用MySQL进行持久化,并配置Master-Slave模式配置样例:
Master:
[*]
[*]
[*]
[*]
[*] file:${activemq.conf}/credentials.properties
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
Slave:
[*]
[*]
[*]
[*]
[*] file:${activemq.conf}/credentials.properties
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
页:
[1]