Spring集成中的事务处理

时间:2016-07-15 10:39:09

标签: spring spring-integration

我有一个jms-message-driven-channel-adapter来自队列的消息。我将消息传递给router,基于某个参数将消息发送到配置为Service Activators的spring bean。

我希望仅在spring bean处理完消息后才从JMS队列中删除消息。否则,不应将该消息从队列中删除。

我尝试将上述所有内容放在chain中,但jms-adapterchain不兼容。我是Spring-integration的新手。请让我知道如何实现这一点。

1 个答案:

答案 0 :(得分:0)

只要在所有组件之间使用(默认)直接通道,流就会在事务中运行,并且当流完成时将删除(提交)消息;只需设置acknowledge="transacted"(版本4.2以来的默认值)。

如果流引发异常,则消息将被重新排队(回滚)。