【问题标题】:Using multiple service activators in single application在单个应用程序中使用多个服务激活器
【发布时间】:2020-04-01 04:23:08
【问题描述】:

目前我有多个工作流在同一个应用程序中运行,但它们最终将在其专用 jvm 中运行。 看起来我只能有一个提供一种处理方法的服务激活器,无法找到如何添加多个,基本上每个独立工作流一个。 非常感谢任何文档链接或代码示例。

return IntegrationFlows.from(receivedDataChannel())
    .enrichHeaders(h -> h.header("kafka_source_topic", alertsInputTopic))
    .enrichHeaders(h -> h.header("target", "MLAlgo"))
    .transform(Transformers.fromJson())
    .filter(this::shouldProcess)
    .log()
    .handle(this)
    .log()
    .get();

因此,此句柄方法适用于一个工作流程,但我有几个,每个都需要自己专用的句柄方法来完成该工作流程中的工作。我总是可以做一些技巧来管理一个,但我希望有干净的单独代码。谢谢

【问题讨论】:

    标签: spring-integration spring-integration-dsl


    【解决方案1】:

    不使用handle(this) - 将服务代码放在单独的类中,将其添加为@Bean 并将其放入Prototype @Scope;那么

    .handle("beanName")
    

    每个人都会得到自己的副本。

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 2021-09-22
      • 2019-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-17
      • 1970-01-01
      相关资源
      最近更新 更多