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