在单个应用程序中使用多个服务激活器

问题描述 投票:-1回答:1

目前,我有多个工作流程在同一应用程序中运行,但最终它们将在其专用的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个回答
1
投票

而不是使用handle(this)-将服务代码放在单独的类中,将其添加为@Bean,然后将其放入原型@Scope中;然后

.handle("beanName")

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

© www.soinside.com 2019 - 2024. All rights reserved.