此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Integration 6.5.1spring-doc.cadn.net.cn

Process Manager 企业集成模式

企业集成模式包括流程管理器模式。 现在,您可以使用封装在RoutingSlipRouteStrategy在工艺路线单内。 除了 bean 名称之外,还有RoutingSlipRouteStrategy可以返回任何MessageChannel对象,并且没有要求MessageChannel实例是应用程序上下文中的 bean。 这样,当无法预测应该使用哪个通道时,我们可以提供强大的动态路由逻辑。 一个MessageChannel可以在RoutingSlipRouteStrategy并返回。 一个FixedSubscriberChannel与关联的MessageHandler对于这种情况,实现是一个很好的组合。 例如,您可以路由到响应式流,如以下示例所示:spring-doc.cadn.net.cn

@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)));
}