PublishSubscribeChannel

PublishSubscribeChannel

我希望定义一个过程,例如“执行操作 A,然后在 A 的输出负载上执行 B 和 C”:

       +- [B]
[A] -> |
       +- [C]

我真的不需要在 [B] 和 [C] 执行后聚合。

哪个是对的?
  • 用 .publish("mychannel") 终止 [A] 并定义 [B] 和 [C] integrationFlows @Bean with IntegrationFlows.from("mychannel")...get()
  • 用 .publishSubscribeChannel(...) 终止 [A]
  • 最佳答案

    我认为最适合您的设计必须类似于 XML 配置:

    @Bean
    IntegrationFlow flowA() {
       return IntegrationFlow.from(...)
                          .channel("publishSubscribeChannel")
                          .get();
    }
    
    @Bean
    MessageChannel publishSubscribeChannel() {
       return new PublishSubscribeChannel();
    }
    
    @Bean
    IntegrationFlow flowB() {
       return IntegrationFlow.from("publishSubscribeChannel")
               ...
    }
    
    @Bean
    IntegrationFlow flowC() {
       return IntegrationFlow.from("publishSubscribeChannel")
               ...
    }
    

    仅仅因为您是这里的新手并且对这里的许多功能感觉还不是很好。

    附言请尊重我们的时间,让我们做自己的工作,也许可以帮助其他人。我们无意为您工作 - 这不是我们的责任。问题“它是如何工作的?”或“对我来说这似乎是一个错误”是讨论的好人选。但类似于“你对我的设计有什么看法?” (或者像你的 JIRA 用于复杂样本)对社区没有那么有用。对不起。

    关于spring-integration - 使用 spring-integration java dsl .publishSubscribeChannel() 或 channel()?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31856459/

    10-09 13:24