跳到主要内容

消息通道

QWen Plus 中英对照 Message Channels

虽然 Message 在封装数据方面发挥着关键作用,但却是 MessageChannel 将消息生产者与消息消费者解耦。

部分总结

📄️ MessagingTemplate

当介绍端点及其各种配置选项时,Spring Integration 为消息组件提供了一个基础,该基础使得可以从消息系统非侵入式地调用您的应用程序代码。然而,有时有必要从您的应用程序代码调用消息系统。为了方便实现此类用例,Spring Integration 提供了一个 MessagingTemplate,它支持跨消息通道的各种操作,包括请求和回复场景。例如,可以发送请求并等待回复,如下所示:

📄️ 特殊通道

在应用程序上下文中,默认定义了两个特殊通道:errorChannel 和 nullChannel。'nullChannel'(NullChannel 的一个实例)类似于 /dev/null,它会以 DEBUG 级别记录发送给它的任何消息,并立即返回。对于传输消息的 org.reactivestreams.Publisher 负载,此通道会立即订阅它,以启动反应式流处理,尽管数据会被丢弃。从反应式流处理中抛出的错误(参见 Subscriber.onError(Throwable))会在 warn 级别下记录,以便可能的调查。如果需要对这种错误进行处理,可以使用带有 Mono.doOnError() 自定义设置的 ReactiveRequestHandlerAdvice 应用于将 Mono 回复发送到此 nullChannel 的消息处理器。每当您遇到不需要关心的回复的通道解析错误时,可以将受影响组件的 output-channel 属性设置为 'nullChannel'(名称 'nullChannel' 在应用程序上下文中是保留的)。