特殊通道

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

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

另请参阅 Java DSL 章中的消息通道,以获取有关消息通道和拦截器的更多信息。