跳到主要内容

企业集成模式中的进程管理器

QWen Plus 中英对照 Process Manager Enterprise Integration Pattern

企业集成模式包括 流程管理器 模式。现在,您可以很容易地通过在路由单中使用封装自定义流程管理器逻辑的 RoutingSlipRouteStrategy 来实现此模式。除了 bean 名称之外,RoutingSlipRouteStrategy 可以返回任何 MessageChannel 对象,并且不要求这个 MessageChannel 实例是应用程序上下文中的 bean。这样,当无法预测应该使用哪个通道时,我们可以提供强大的动态路由逻辑。可以在 RoutingSlipRouteStrategy 内创建一个 MessageChannel 并返回它。带有相关 MessageHandler 实现的 FixedSubscriberChannel 是这种情况下的一种很好的组合。例如,您可以路由到 Reactive Streams,如下例所示:

@Bean
public PollableChannel resultsChannel() {
return new QueueChannel();
}
@Bean
public RoutingSlipRouteStrategy routeStrategy() {
return (requestMessage, reply) -> requestMessage.getPayload() instanceof String
? new FixedSubscriberChannel(m ->
Mono.just((String) m.getPayload())
.map(String::toUpperCase)
.subscribe(v -> messagingTemplate().convertAndSend(resultsChannel(), v)))
: new FixedSubscriberChannel(m ->
Mono.just((Integer) m.getPayload())
.map(v -> v * 2)
.subscribe(v -> messagingTemplate().convertAndSend(resultsChannel(), v)));
}
java