java - Spring Integration - 如何将工作流拆分为两个 channel ?

标签 java spring spring-integration spring-batch configuration-files

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

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

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

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

为了让我将完整数据发送到每个 C1/C2 channel ,应该使用什么样的标签或主题?

最佳答案

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

Spring Integration 有一个关于这个问题的实现:https://docs.spring.io/spring-integration/docs/current/reference/html/#router-implementations-recipientlistrouter

因此,您有一个input-channel,并为您希望分发相同消息的每个 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

关于java - Spring Integration - 如何将工作流拆分为两个 channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55024534/

相关文章:

java - Java 线程中的 RejectedExecutionException

java - 如何为 Java 双基元创建 spring bean?

java.lang.ClassNotFoundException : org. springframework.jdbc.datasource.DriverManagerDataSource 错误

RabbitMQ 上的 Spring 集成和 AMQP 抛出异常 Method handleToken(byte[]) 找不到

grails - 从 Config.groovy 在 resources.xml 中配置 Spring Integration XML

java - hive serde 中多分隔符字符串的正则表达式

java - Android ArrayAdapter NullPointerException getID

java - 如何修复 my/hibernate.cfg.xml 文件?

java - 为什么spring bean不是在jar文件中创建,而是在class文件中创建

spring - 如何使用 Micrometer 获取 Spring Integration 队列中的消息数量?