特別チャンネル

デフォルトでは、アプリケーションコンテキスト内に 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 の章のメッセージチャンネルも参照してください。