【发布时间】:2015-10-23 07:54:34
【问题描述】:
问题:如果发生系统故障,如何将消息存储中的消息回滚到队列中?
场景: IBM MQ 队列--> JMS 消息驱动通道适配器--> 聚合器。
在导致 JVM 关闭的系统故障期间。我可以指定一个 MQ 队列作为持久消息存储,而不是使用默认的易失性消息存储吗?这样,如果发生系统故障,消息存储中的消息可以回滚到 MQ 持久队列以进行故障转移处理。
编辑:最后一句澄清。
【问题讨论】:
问题:如果发生系统故障,如何将消息存储中的消息回滚到队列中?
场景: IBM MQ 队列--> JMS 消息驱动通道适配器--> 聚合器。
在导致 JVM 关闭的系统故障期间。我可以指定一个 MQ 队列作为持久消息存储,而不是使用默认的易失性消息存储吗?这样,如果发生系统故障,消息存储中的消息可以回滚到 MQ 持久队列以进行故障转移处理。
编辑:最后一句澄清。
【问题讨论】:
不清楚你的意思……
可以回滚到原始队列
...如果你的意思是自动,那么,不。
有一个 JDBC 消息存储实现(但您需要 XA 事务)。
您可能可以创建一个由 JMS 支持的自定义消息存储,但这是对队列的不寻常使用 - 我想您必须使用基于 groupId 的消息选择器,但您可能必须保留一个在内存中镜像(并在系统初始化期间对其进行初始化,同时将消息留在队列中)。
【讨论】: