クラス RSocketInboundGateway

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareLifecyclePhasedSmartLifecycleExpressionCapableIntegrationPatternIntegrationRSocketEndpointNamedComponentIntegrationInboundManagementIntegrationManagementManageableLifecycleManageableSmartLifecycleTrackableComponentReactiveMessageHandler

public class RSocketInboundGateway extends MessagingGatewaySupport implements IntegrationRSocketEndpoint
IntegrationRSocketEndpointMessagingGatewaySupport 実装。RSocket リクエストの受信エンドポイントを表します。

マッピング登録用に AbstractRSocketConnector で構成できます。または、既存の AbstractRSocketConnector Bean が自動的に検出を実行します。

受信 DataBuffer(単一または Publisher 要素として)は、setRequestElementClass(java.lang.Class<?>) または setRequestElementType(ResolvableType) で構成できるターゲットの予期される型に変換されます。構成されていない場合、ターゲット型は contentType ヘッダーによって決定されます。text の場合、ターゲット型は StringSE、それ以外の場合は - byte[] です。

受信 Publisher は、ペイロードを送信するためにメッセージでそのまま使用されます。そのペイロードを可能な方法で処理することは、ターゲットアプリケーションの責任です。

応答ペイロードは、ペイロードの型または Publisher 要素型に従って Flux にエンコードされます。

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

    • RSocketInboundGateway

      public RSocketInboundGateway(StringSE... pathArg)
      提供されたパスパターンに基づいてインスタンス化し、受信 RSocket リクエストに対してこのエンドポイントをマップします。
      パラメーター:
      pathArg - 使用するマッピングパターン。
  • メソッドの詳細

    • setRSocketStrategies

      public void setRSocketStrategies(RSocketStrategies rsocketStrategies)
      デフォルトの RSocketStrategies の代わりに RSocketStrategies を構成します。注: AbstractRSocketConnector が提供されている場合、その RSocketStrategies が優先されます。
      パラメーター:
      rsocketStrategies - 使用する RSocketStrategies
      関連事項:
    • setRSocketConnector

      public void setRSocketConnector(AbstractRSocketConnector rsocketConnector)
      明示的なエンドポイントマッピング用の AbstractRSocketConnector 参照を提供します。
      パラメーター:
      rsocketConnector - 使用する AbstractRSocketConnector
    • setInteractionModels

      public void setInteractionModels(RSocketInteractionModel... interactionModelsArg)
      このエンドポイントがマップされる RSocketInteractionModel のセットを構成します。
      パラメーター:
      interactionModelsArg - マッピング用の RSocketInteractionModel
      導入:
      5.2.2
    • getInteractionModels

      public RSocketInteractionModel[] getInteractionModels()
      インターフェースからコピーされた説明: IntegrationRSocketEndpoint
      この ReactiveMessageHandler がマップされる RSocketInteractionModel を取得します。デフォルトはすべての RSocketInteractionModel です。
      次で指定:
      インターフェース IntegrationRSocketEndpointgetInteractionModels 
      戻り値:
      マッピングのための相互作用モデル。
    • getPath

      public StringSE[] getPath()
      このエンドポイントがマップされているパスパターンの配列を取得します。
      次で指定:
      インターフェース IntegrationRSocketEndpointgetPath 
      戻り値:
      マッピングパス
    • setRequestElementClass

      public void setRequestElementClass(ClassSE<?> requestElementClass)
      受信 RSocket リクエストコンテンツがエンコーダーによって読み取られるときに生成されるペイロードの型を指定します。デフォルトでは、この値は null です。これは、実行時に「テキスト」Content-Type が String になり、他のすべてのデフォルトが byte[].class になることを意味します。
      パラメーター:
      requestElementClass - ペイロード型。
    • setRequestElementType

      public void setRequestElementType(ResolvableType requestElementType)
      受信 RSocket リクエストのコンテンツがコンバーター / エンコーダーによって読み取られるときに生成されるペイロードの型を指定します。デフォルトでは、この値は null です。これは、実行時に「テキスト」Content-Type が String になるのに対し、他のすべての Content-Type はデフォルトで byte[].class になることを意味します。
      パラメーター:
      requestElementType - ペイロード型。
    • setDecodeFluxAsUnit

      public void setDecodeFluxAsUnit(boolean decodeFluxAsUnit)
      受信 Flux を単一ユニットまたは各イベントとして個別にデコードするオプションを構成します。Spring メッセージング @MessageMapping との整合性を保つために、デフォルトは false です。ターゲット Flux デコードロジックは、選択した Decoder によって異なります。たとえば、StringDecoder では、バイトバッファの終了を示すために、ストリームに改行文字が存在する必要があります。
      パラメーター:
      decodeFluxAsUnit - 受信 Flux を単一ユニットまたは各イベントとして個別にデコードします。
      導入:
      5.3
      関連事項:
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス MessagingGatewaySupportonInit 
    • doStart

      protected void doStart()
      クラスからコピーされた説明: AbstractEndpoint
      サブクラスは、開始動作でこのメソッドを実装する必要があります。このメソッドは、AbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。
      オーバーライド:
      クラス MessagingGatewaySupportdoStart 
    • handleMessage

      public reactor.core.publisher.Mono<VoidSE> handleMessage(Message<?> requestMessage)
      次で指定:
      インターフェース ReactiveMessageHandlerhandleMessage