特殊通道
預設情況下,應用程式上下文中定義了兩個特殊通道:errorChannel
和 nullChannel
。 'nullChannel' (NullChannel
的實例) 的作用類似於 /dev/null
,會將傳送給它的任何訊息記錄在 DEBUG
層級並立即返回。 特殊處理適用於傳輸訊息的 org.reactivestreams.Publisher
負載:它會立即訂閱此通道以啟動反應式串流處理,儘管資料會被丟棄。 從反應式串流處理中拋出的錯誤 (請參閱 Subscriber.onError(Throwable)
) 會記錄在 warn
層級下以供可能調查。 如果需要對此類錯誤執行任何操作,則可以將具有 Mono.doOnError()
自訂的 ReactiveRequestHandlerAdvice 應用於在此 nullChannel
中產生 Mono
回覆的訊息處理器。 任何時候您遇到不關心的回覆的通道解析錯誤時,您可以將受影響元件的 output-channel
屬性設定為 'nullChannel' (名稱 'nullChannel' 在應用程式上下文中是保留的)。
'errorChannel' 在內部用於傳送錯誤訊息,並且可以使用自訂設定覆寫。 這在 錯誤處理 中有更詳細的討論。
另請參閱 Java DSL 章節中的 訊息通道,以取得有關訊息通道和攔截器的更多資訊。