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