特別チャンネル

デフォルトでは、errorChannel と nullChannel の 2 つの特別なチャネルがアプリケーションコンテキスト内で定義されています。'nullChannel' (NullChannel のインスタンス)は /dev/null のように機能し、DEBUG レベルで送信されたメッセージをログに記録し、すぐに戻ります。送信されたメッセージの org.reactivestreams.Publisher ペイロードには特別な処理が適用されます。データは破棄されますが、このチャネルですぐにサブスクライブされ、リアクティブストリーム処理が開始されます。リアクティブストリーム処理(Subscriber.onError(Throwable) を参照)からスローされたエラーは、調査の可能性のために warn レベルでログに記録されます。このようなエラーで何かを行う必要がある場合は、Mono.doOnError() をカスタマイズした ReactiveRequestHandlerAdvice をメッセージハンドラーに適用して、この nullChannel に Mono 応答を生成できます。気にしない応答でチャネル解決エラーが発生した場合はいつでも、影響を受けるコンポーネントの output-channel 属性を "nullChannel" に設定できます(名前 "nullChannel" はアプリケーションコンテキスト内で予約されています)。

'errorChannel' は、エラーメッセージを送信するために内部的に使用され、カスタム構成でオーバーライドされる場合があります。これについては、エラー処理で詳しく説明されています。

メッセージチャネルとインターセプターの詳細については、Java DSL の章のメッセージチャンネルも参照してください。