自定义入站通道适配器的事务同步

时间:2014-12-18 10:36:14

标签: spring-integration

我实现了一个自定义<inbound-channel-adapter>,它扩展了MessageProducerSupport,有点像ImapIdleChannelAdapter来自spring集成。此入站通道适配器的目标是在LDAP上启动持久性搜索,每次LDAP中发生新的更改时,它都会将更改发送到通道<int-http:outbound-channel-adapter>。但是,我希望在成功发送消息时能够将其记录到已处理的数据库中。你能用一些想法帮助我完成这项任务吗?非常感谢你!

1 个答案:

答案 0 :(得分:0)

实现这一目标的最简单方法是将channel <int-http:outbound-channel-adapter>作为publish-subscribe并再添加一个<int-jdbc:outbound-channel-adapter>

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

另一个选项基于<request-handler-advice-chain>ExpressionEvaluatingRequestHandlerAdvice,当您可以将onSuccessExpressionsuccessChannel一起指定,以便在适配器的良好结果上向其他频道发送内容处理