public static interface RSocketStrategies.Builder
RSocketStrategies
を作成するためのビルダーオプション。RSocketStrategies.Builder encoder(Encoder<?>... encoder)
Payload
のデータまたはメタデータに直列化するために使用するエンコーダーのリストに追加します。 デフォルトでは、これは String
、byte[]
、ByteBuffer
、DataBuffer
のエンコーダーで初期化されます。
RSocketStrategies.Builder encoders(ConsumerSE<ListSE<Encoder<?>>> consumer)
RSocketStrategies.Builder decoder(Decoder<?>... decoder)
Payload
のデータまたはメタデータからオブジェクトを逆直列化するために使用するデコーダーのリストに追加します。 デフォルトでは、これは String
、byte[]
、ByteBuffer
、DataBuffer
のデコーダーで初期化されます。
RSocketStrategies.Builder decoders(ConsumerSE<ListSE<Decoder<?>>> consumer)
RSocketStrategies.Builder routeMatcher(@Nullable RouteMatcher routeMatcher)
RouteMatcher
を構成します。このオプションは、クライアントまたはサーバーのレスポンダーに適用できます。 デフォルトでは、AntPathMatcher
に "." を付けた SimpleRouteMatcher
が使用されます。セパレータとして。効率を上げるには、代わりに spring-web
から PathPatternRouteMatcher
に切り替えることを検討してください。
RSocketStrategies.Builder reactiveAdapterStrategy(@Nullable ReactiveAdapterRegistry registry)
Publisher
のセマンティクスに適応したり、セマンティクスを決定したりするために使用できます。 デフォルトでは、この ReactiveAdapterRegistry.getSharedInstance()
です。
RSocketStrategies.Builder dataBufferFactory(@Nullable DataBufferFactory bufferFactory)
デフォルトでは、これは NettyDataBufferFactory
に設定されており、ゼロコピー用にプールされ、割り当てられたバッファーがあります。RSocket もゼロコピー用に構成する必要があります。クライアントのセットアップでは、RSocketRequester.Builder
はここで構成された DataBufferFactory
に自動的に適応し、それに応じて RSocketConnector
のフレームデコーダーを設定します。サーバーのセットアップでは、RSocketServer
もそれに応じてゼロコピー用に構成する必要があります。
代わりに DefaultDataBufferFactory
を使用する場合、RSocket で関連する構成を変更する必要はありません。
RSocketStrategies.Builder metadataExtractor(@Nullable MetadataExtractor metadataExtractor)
MetadataExtractor
を構成します。このオプションは、クライアントまたはサーバーのレスポンダーに適用できます。 デフォルトでは、これは configured
デコーダーで作成され、"message/x.rsocket.routing.v0"
メタデータからルートを抽出する DefaultMetadataExtractor
です。
RSocketStrategies.Builder metadataExtractorRegistry(ConsumerSE<MetadataExtractorRegistry> consumer)
MetadataExtractorRegistry
に適用します。RSocketStrategies build()
RSocketStrategies
インスタンスをビルドします。