特殊通道

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

'errorChannel' 用于内部发送错误消息,并且可以使用自定义配置覆盖。这将在 错误处理 中更详细地讨论。

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