特殊通道

預設情況下,應用程式上下文中定義了兩個特殊通道: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 章節中的 訊息通道,以取得有關訊息通道和攔截器的更多資訊。