特殊通道

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

errorChannel 内部用于发送错误消息,并且可以通过自定义配置进行覆盖。 这在 错误处理 中有更详细的讨论。

有关消息通道和拦截器的更多信息,请参阅 Java DSL 章中的 消息通道