Spring integration 自定义事务同步

Spring integration 自定义事务同步,spring-integration,Spring Integration,关于阿尔滕先生的答复,我非常感谢他: “实现该功能的最简单方法是将该频道设为发布-订阅,然后再向其添加一个 只有当第一个订阅服务器完成其工作时,才会调用第二个订阅服务器。在这种情况下,将向DB适配器发送相同的消息 另一个选项是基于和表达式评估请求权限的,当您可以指定成功表达式和成功通道,以便在适配器处理结果良好时将内容发送到另一个通道” 首先,我想知道,对于第一种解决方案,是否也保证只有在成功完成请求后才能调用另一种类型的订户,例如简单服务激活器或 第二个问题是如何获取消息的有效负载以便将其记录

关于阿尔滕先生的答复,我非常感谢他:

“实现该功能的最简单方法是将该
频道设为发布-订阅,然后再向其添加一个

只有当第一个订阅服务器完成其工作时,才会调用第二个订阅服务器。在这种情况下,将向DB适配器发送相同的消息

另一个选项是基于
表达式评估请求权限
的,当您可以指定
成功表达式
和成功通道,以便在适配器处理结果良好时将内容发送到另一个通道”

首先,我想知道,对于第一种解决方案,是否也保证只有在成功完成
请求后才能调用另一种类型的订户,例如简单服务激活器或

第二个问题是
如何获取消息的有效负载以便将其记录到数据库中?您是否有使用
的示例

多谢各位

  • 有一个属性
    ignore failures
    ,默认为
    false
    。第二个订阅服务器只有在第一个订阅服务器将异常更改为
    true
    时才会被调用。为确保调用顺序,将
    order=“1”
    添加到第一个订阅服务器,并将
    order=“2”
    添加到第二个订阅服务器

  • 通知可以访问原始有效负载。有关使用建议的示例,请参见


  • 您好,Gary,非常感谢您的回答,非常有用,但我想知道我是否应该将其保留为false,以便在任何
    处理程序引发
    异常时,它不会调用第二个异常?如果我不太懂,请纠正我?非常感谢。是的,当然你应该把它设置为false(或者默认设置),我只是在解释频道是如何工作的;我修正了措辞。非常感谢!这对我帮助很大!!