ActiveMQ - 会话/事务复制的可能性

时间:2015-12-04 14:21:20

标签: activemq

我正在使用具有主/从配置和SQL DB的ActiveMQ 5.12.1 - 我们没有太多负载,但我们有很长时间运行的队列消费者 - 在几秒到几个小时之间。

JMS消息是持久的,会话是事务性的。

我有一个侦听器正在处理来自事务中队列的消息,这个过程需要几分钟时间。在此期间发生故障转移时,处理将完成,但由于故障转移,JMS事务将回滚。

是否可以以某种方式配置ActiveMQ,故障转移还包括运行事务 - 以便在重新连接到新主服务器后它们能够成功完成?

1 个答案:

答案 0 :(得分:0)

这不是经纪人或客户允许的。由于无法在客户端或代理端进行故障转移时确切知道什么是空中飞行,唯一安全的做法是将TX标记为失败并将其回滚,否则客户可能会认为它发送的确认实际上它没有,或者经纪人可以假设客户得到了它发送的消息,实际上也没有发生。

您的客户需要考虑TX操作有时可以回滚的事实。