特殊通道
默认情况下,应用程序上下文中定义了两个特殊的通道: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 章节中的 消息通道。