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