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