public class RSocketInboundGateway extends MessagingGatewaySupport implements IntegrationRSocketEndpoint
IntegrationRSocketEndpoint の MessagingGatewaySupport 実装。RSocket リクエストの受信エンドポイントを表します。 マッピング登録用に AbstractRSocketConnector で構成できます。または、既存の AbstractRSocketConnector Bean が自動的に検出を実行します。
受信 DataBuffer(単一または Publisher 要素として)は、setRequestElementClass(java.lang.Class<?>) または setRequestElementType(ResolvableType) で構成できるターゲットの予期される型に変換されます。構成されていない場合、ターゲット型は contentType ヘッダーによって決定されます。text の場合、ターゲット型は StringSE、それ以外の場合は - byte[] です。
受信 Publisher は、ペイロードを送信するためにメッセージでそのまま使用されます。そのペイロードを可能な方法で処理することは、ターゲットアプリケーションの責任です。
応答ペイロードは、ペイロードの型または Publisher 要素型に従って Flux にエンコードされます。
IntegrationManagement.ManagementOverridesmessagingTemplatelifecycleCondition, lifecycleLockEXPRESSION_PARSER, loggerMETER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEDEFAULT_PHASE| コンストラクターと説明 |
|---|
RSocketInboundGateway(StringSE... pathArg) 提供されたパスパターンに基づいてインスタンス化し、受信 RSocket リクエストに対してこのエンドポイントをマップします。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void | doStart() サブクラスは、開始動作でこのメソッドを実装する必要があります。 |
RSocketInteractionModel[] | getInteractionModels() この ReactiveMessageHandler がマップされる RSocketInteractionModel を取得します。 |
StringSE[] | getPath() このエンドポイントがマップされているパスパターンの配列を取得します。 |
reactor.core.publisher.Mono<VoidSE> | handleMessage(Message<?> requestMessage) |
protected void | onInit() サブクラスは、初期化ロジック用にこれを実装できます。 |
void | setDecodeFluxAsUnit(boolean decodeFluxAsUnit) 受信 Flux を単一ユニットまたは各イベントとして個別にデコードするオプションを構成します。 |
void | setInteractionModels(RSocketInteractionModel... interactionModelsArg) このエンドポイントがマップされる RSocketInteractionModel のセットを構成します。 |
void | setRequestElementClass(ClassSE<?> requestElementClass) 受信 RSocket リクエストコンテンツがエンコーダーによって読み取られるときに生成されるペイロードの型を指定します。 |
void | setRequestElementType(ResolvableType requestElementType) 受信 RSocket リクエストコンテンツがコンバーター / エンコーダーによって読み取られるときに生成されるペイロードの型を指定します。 |
void | setRSocketConnector(AbstractRSocketConnector rsocketConnector) 明示的なエンドポイントマッピング用の AbstractRSocketConnector 参照を提供します。 |
void | setRSocketStrategies(RSocketStrategies rsocketStrategies) デフォルトの RSocketStrategies の代わりに RSocketStrategies を構成します。 |
buildErrorMessage, buildSendTimer, destroy, doStop, getComponentType, getErrorChannel, getErrorMessageAttributes, getIntegrationPatternType, getManagedName, getManagedType, getOverrides, getReplyChannel, getRequestChannel, isLoggingEnabled, receive, receive, receiveMessage, receiveMessage, registerMetricsCaptor, registerReplyMessageCorrelatorIfNecessary, send, sendAndReceive, sendAndReceiveMessage, sendAndReceiveMessageReactive, sendTimer, setErrorChannel, setErrorChannelName, setErrorMessageStrategy, setErrorOnTimeout, setLoggingEnabled, setManagedName, setManagedType, setReplyChannel, setReplyChannelName, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestChannelName, setRequestMapper, setRequestTimeout, setShouldTrackdoStop, getPhase, getRole, isAutoStartup, isRunning, setAutoStartup, setPhase, setRole, start, stop, stopafterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringcloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, waitSE, waitSE, waitSEgetThisAsgetBeanName, getComponentNamepublic RSocketInboundGateway(StringSE... pathArg)
pathArg - 使用するマッピングパターン。public void setRSocketStrategies(RSocketStrategies rsocketStrategies)
RSocketStrategies の代わりに RSocketStrategies を構成します。注: AbstractRSocketConnector が提供されている場合、その RSocketStrategies が優先されます。rsocketStrategies - 使用する RSocketStrategies。RSocketStrategies.builder()public void setRSocketConnector(AbstractRSocketConnector rsocketConnector)
AbstractRSocketConnector 参照を提供します。rsocketConnector - 使用する AbstractRSocketConnector。public void setInteractionModels(RSocketInteractionModel... interactionModelsArg)
RSocketInteractionModel のセットを構成します。interactionModelsArg - マッピング用の RSocketInteractionModel。public RSocketInteractionModel[] getInteractionModels()
IntegrationRSocketEndpointReactiveMessageHandler がマップされる RSocketInteractionModel を取得します。デフォルトはすべての RSocketInteractionModel です。IntegrationRSocketEndpoint の getInteractionModels public StringSE[] getPath()
IntegrationRSocketEndpoint の getPath public void setRequestElementClass(ClassSE<?> requestElementClass)
byte[].class になることを意味します。requestElementClass - ペイロード型。public void setRequestElementType(ResolvableType requestElementType)
byte[].class になることを意味します。requestElementType - ペイロード型。public void setDecodeFluxAsUnit(boolean decodeFluxAsUnit)
Flux を単一ユニットまたは各イベントとして個別にデコードするオプションを構成します。Spring メッセージング @MessageMapping との整合性を保つために、デフォルトは false です。ターゲット Flux デコードロジックは、選択した Decoder によって異なります。たとえば、StringDecoder では、バイトバッファの終了を示すために、ストリームに改行文字が存在する必要があります。decodeFluxAsUnit - 受信 Flux を単一ユニットまたは各イベントとして個別にデコードします。Decoder.decode(Publisher, ResolvableType, MimeType, java.util.Map)protected void onInit()
IntegrationObjectSupportMessagingGatewaySupport の onInit protected void doStart()
AbstractEndpointAbstractEndpoint.lifecycleLock を保持しているときに呼び出されます。MessagingGatewaySupport の doStart public reactor.core.publisher.Mono<VoidSE> handleMessage(Message<?> requestMessage)
ReactiveMessageHandler の handleMessage