Spring 集成 - 消息存储可以持久保存到队列吗?
Spring Integration - Can a message store be persistent to a queue?
问题:如果系统发生故障,如何将消息存储中的消息回滚到队列中?
场景:
IBM MQ 队列 --> JMS 消息驱动通道适配器 --> 聚合器。
在导致 JVM 关闭的系统故障期间。我可以指定一个 MQ 队列作为持久消息存储,而不是使用默认的易失性消息存储吗?这样,如果发生系统故障,消息存储中的消息可以回滚到 MQ 持久队列以进行故障转移处理。
编辑:最后一句澄清。
不清楚你的意思...
could be rolled back to the originating queue
...如果你的意思是自动那么,不。
有一个 JDBC 消息存储实现(但您需要 XA 事务)。
您可能会创建一个由 JMS 支持的自定义消息存储,但这是对队列的一种不寻常的使用 - 我想您必须使用基于 groupId
的消息选择器,但您可能会必须在内存中保留一个镜像(并在系统初始化时初始化它,同时将消息留在队列中)。
问题:如果系统发生故障,如何将消息存储中的消息回滚到队列中?
场景: IBM MQ 队列 --> JMS 消息驱动通道适配器 --> 聚合器。
在导致 JVM 关闭的系统故障期间。我可以指定一个 MQ 队列作为持久消息存储,而不是使用默认的易失性消息存储吗?这样,如果发生系统故障,消息存储中的消息可以回滚到 MQ 持久队列以进行故障转移处理。
编辑:最后一句澄清。
不清楚你的意思...
could be rolled back to the originating queue
...如果你的意思是自动那么,不。
有一个 JDBC 消息存储实现(但您需要 XA 事务)。
您可能会创建一个由 JMS 支持的自定义消息存储,但这是对队列的一种不寻常的使用 - 我想您必须使用基于 groupId
的消息选择器,但您可能会必须在内存中保留一个镜像(并在系统初始化时初始化它,同时将消息留在队列中)。