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



我目前有多个工作流在同一个应用程序中运行,但它们最终将在专用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();

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

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

.handle("beanName")

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

最新更新