程序管理器企業整合模式

企業整合模式包括程序管理器模式。現在,您可以透過在路由單中使用封裝在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)));
}
© . This site is unofficial and not affiliated with VMware.