我有一个jms-message-driven-channel-adapter
来自队列的消息。我将消息传递给router
,基于某个参数将消息发送到配置为Service Activators
的spring bean。
我希望仅在spring bean处理完消息后才从JMS队列中删除消息。否则,不应将该消息从队列中删除。
我尝试将上述所有内容放在chain
中,但jms-adapter
与chain
不兼容。我是Spring-integration的新手。请让我知道如何实现这一点。
答案 0 :(得分:0)
只要在所有组件之间使用(默认)直接通道,流就会在事务中运行,并且当流完成时将删除(提交)消息;只需设置acknowledge="transacted"
(版本4.2以来的默认值)。
如果流引发异常,则消息将被重新排队(回滚)。