对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
对于最新的稳定版本,请使用 Spring Integration 6.3.1! |
企业集成模式包括流程管理器模式。
现在,您可以使用封装在路由单中的自定义进程管理器逻辑轻松实现此模式。
除了 Bean 名称之外,还可以返回任何对象,并且不要求此实例在应用程序上下文中是 Bean。
这样,当无法预测应该使用哪个通道时,我们可以提供强大的动态路由逻辑。
可以在 和 返回 中创建 A。
对于这种情况,具有关联实现的 A 是一个很好的组合。
例如,您可以路由到 Reactive Streams,如以下示例所示:RoutingSlipRouteStrategy
RoutingSlipRouteStrategy
MessageChannel
MessageChannel
MessageChannel
RoutingSlipRouteStrategy
FixedSubscriberChannel
MessageHandler
@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)));
}