gpt4 book ai didi

spring-integration - 动态实例化 Spring Integration 流程

转载 作者:行者123 更新时间:2023-12-02 22:39:15 32 4
gpt4 key购买 nike

我有一个 Spring Integration Flow 项目,它公开了一个 Rest 网关,在收到 Rest POST 请求后,它会执行一些小逻辑。基于一些有效负载参数,我想动态激活另一个 Spring Integration 流,并将消息路由到该流中的指定 channel ,我可以根据有效负载在主流中发现该 channel 。子流会将响应消息放入主流中定义的指定 channel 中。

我怎样才能实现这个目标。

最佳答案

从版本 1.2 开始 Spring Integration Java DSL 为运行时流程提供 API registration :

@Autowired
private IntegrationFlowContext context;
...

IntegrationFlow myFlow = f -> f
.<String, String>transform(String::toUpperCase)
.transform("Hello, "::concat);

String flowId = this.context.register(myFlow);
MessagingTemplate messagingTemplate = this.context.messagingTemplateFor(flowId);

assertEquals("Hello, SPRING",
messagingTemplate.convertSendAndReceive("spring", String.class));

this.context.remove(flowId);

因此,根据您的逻辑,您可以构建并执行一个或另一个流程。

围绕该 API,您甚至可以构建一些缓存,无需多次注册相同的流,而只需在第一次注册后重用即可。

关于spring-integration - 动态实例化 Spring Integration 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493071/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com