クラス RSocketOutboundGateway

実装されたすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareOrderedExpressionCapableOrderableMessageProducerHeaderPropagationAwareIntegrationPatternNamedComponentIntegrationManagementTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class RSocketOutboundGateway extends AbstractReplyProducingMessageHandler
RSocket リクエストの送信メッセージングゲートウェイ。リクエストロジックは完全に RSocketRequester に基づいており、クライアント側の ClientRSocketConnector またはサーバー側の RSocketRequesterMethodArgumentResolver.RSOCKET_REQUESTER_HEADER リクエストメッセージヘッダーから取得できます。

RSocket 操作は、構成された RSocketInteractionModel またはそれぞれの SpEL 式によって決定され、実行時にリクエストメッセージに対して評価されます。デフォルトでは、RSocketInteractionModel.requestResponse 操作が使用されます。

Publisher ベースのリクエストの場合、リクエストメッセージ payload に存在する必要があります。アップストリーム FluxMessageChannel を介したフラット化も機能しますが、この方法では特定のリクエストの範囲が失われ、すべての Publisher イベントが独自のプレーンリクエストで送信されます。

応答が Flux の場合、リクエストスコープを保持するために Mono にラップされます。ダウンストリームフローは、メッセージペイロードからこの Flux を取得し、それ自体でサブスクライブする責任があります。このコンポーネントからの Mono 応答は、ダウンストリーム FluxMessageChannel からサブスクライブされるか、それ以外の場合は ListenableFuture に適合されます。

導入:
5.2
作成者:
Artem Bilan
関連事項:
  • コンストラクターの詳細

    • RSocketOutboundGateway

      public RSocketOutboundGateway(StringSE route, @Nullable ObjectSE... routeVariables)
      提供された RSocket エンドポイント route とオプションの変数に基づいてインスタンス化し、ルートテンプレートを展開します。
      パラメーター:
      route - 使用する RSocket エンドポイントルート。
      routeVariables - ルートテンプレートを展開する変数。
    • RSocketOutboundGateway

      public RSocketOutboundGateway(Expression routeExpression)
      提供された SpEL 式に基づいてインスタンス化し、実行時に RSocket エンドポイント route をリクエストメッセージに対して評価します。ルートがテンプレートであり、変数の展開が必要な場合は、この式の評価でそれを行うことをお勧めします。たとえば、適切なロジックを備えた Bean を使用します。
      パラメーター:
      routeExpression - 使用する SpEL 式。
  • メソッドの詳細