特殊通道

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

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

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

© . This site is unofficial and not affiliated with VMware.