Spring 集成 - 如何将工作流拆分为两个通道?

Spring Integration - How can I have a workflow split off to two channels?

大家早上好,我正在寻找一种方法将我们的工作流程分成两个不同的渠道。

          -> C1
 A -> B ->
          -> C2

作为一个整体,我对 Spring 相当陌生,并且一直在努力解决问题,但未能 Google 解决方案。

我的工作流程使用 int 文件读取源数据并将它们传递到各种渠道,例如 A - B,但我需要能够将我的所有数据发送到两个独特的渠道做完全不同的事情。

要使用什么样的标签或主题才能将完整数据发送到每个 C1/C2 频道?

为此,您需要使用收件人列表路由器 EI 模式:https://www.enterpriseintegrationpatterns.com/patterns/messaging/RecipientList.html

Spring 集成有关于此事的实现:https://docs.spring.io/spring-integration/docs/current/reference/html/#router-implementations-recipientlistrouter

因此,您有一个 input-channel 并为每个要分发相同消息的频道配置 recipient

贷款经纪人样本对此事有一些配置:https://github.com/spring-projects/spring-integration-samples/tree/master/applications/loan-broker

此处描述了 Java DSL 变体:https://docs.spring.io/spring-integration/docs/current/reference/html/#java-dsl-routers