自定义事务同步

时间:2014-12-18 13:17:12

标签: spring-integration

参考Artem先生的回答,我非常感谢:

&#34;实现这一目标的最简单方法是将<int-http:outbound-channel-adapter>的频道设为发布订阅,然后再添加一个<int-jdbc:outbound-channel-adapter>

仅当第一个订阅者完成其工作时才会调用此第二个订阅者。在这种情况下,相同的消息将被发送到数据库适配器。

另一个选项基于<request-handler-advice-chain>ExpressionEvaluatingRequestHandlerAdvice,当您可以将onSuccessExpression与successChannel一起指定,以便在适配器处理效果良好的情况下将内容发送到另一个频道&#34;

我首先想知道第一个解决方案是否也确保仅在成功完成后才能调用另一类订户(如简单服务激活器或<int-mongo:outbound-channel-adapter>)的使用。 <int-http:outbound-channel-adapter>请求?

<request-handler-advice-chain>的第二个如何获取消息的有效负载以便将其记录在我的数据库中?您是否有使用<int-http:outbound-channel-adapter>的示例。

非常感谢

1 个答案:

答案 0 :(得分:0)

  1. <publish-subscribe-channel/>的属性ignore-failures默认为false。如果第一个订户更改为true,则第一个订户将被调用。要确保调用顺序,请将order="1"添加到第一个订阅者,将order="2"添加到第二个订阅者。

  2. 建议可以访问原始有效负载。有关使用建议的示例,请参阅retry and more sample