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 的消息选择器,但您可能会必须在内存中保留一个镜像(并在系统初始化时初始化它,同时将消息留在队列中)。