クラス RSocketOutboundGateway
java.lang.ObjectSE
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.rsocket.outbound.RSocketOutboundGateway
- 実装済みのインターフェース一覧:
org.reactivestreams.Subscriber<Message<?>>、Aware、BeanClassLoaderAware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、MessageProducer、HeaderPropagationAware、IntegrationPattern、NamedComponent、IntegrationManagement、TrackableComponent、MessageHandler、reactor.core.CoreSubscriber<Message<?>>
RSocket リクエストの送信メッセージングゲートウェイ。リクエストロジックは完全に
RSocketRequester に基づいており、クライアント側の ClientRSocketConnector またはサーバー側の RSocketRequesterMethodArgumentResolver.RSOCKET_REQUESTER_HEADER リクエストメッセージヘッダーから取得できます。RSocket 操作は、実行時にリクエストメッセージに対して評価される、構成された RSocketInteractionModel またはそれぞれの SpEL 式によって決定されます。デフォルトでは、RSocketInteractionModel.requestResponse 操作が使用されます。
Publisher ベースのリクエストの場合、リクエストメッセージ payload に存在する必要があります。アップストリーム FluxMessageChannel によるフラット化も機能しますが、この方法では特定のリクエストの範囲が失われ、すべての Publisher イベントが独自のプレーンリクエストで送信されます。
応答が Flux の場合、リクエストスコープを保持するために Mono にラップされます。ダウンストリームフローは、メッセージペイロードからこの Flux を取得し、それ自体でサブスクライブする責任があります。このコンポーネントからの Mono 応答は、ダウンストリーム FluxMessageChannel からサブスクライブされるか、それ以外の場合は CompletableFutureSE に適合されます。
- 導入:
- 5.2
- 作成者:
- Artem Bilan
- 関連事項:
ネストされたクラスの概要
クラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたネストクラス / インターフェース
AbstractReplyProducingMessageHandler.RequestHandlerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたネストクラス / インターフェース
IntegrationManagement.ManagementOverridesフィールド概要
クラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたフィールド
messagingTemplateクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたフィールド
EXPRESSION_PARSER, loggerインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたフィールド
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEインターフェース org.springframework.core.Ordered から継承されたフィールド
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCEコンストラクター概要
コンストラクターコンストラクター説明RSocketOutboundGateway(StringSE route, ObjectSE @Nullable... routeVariables) 提供された RSocket エンドポイントrouteとオプションの変数に基づいてインスタンス化し、ルートテンプレートを展開します。RSocketOutboundGateway(Expression routeExpression) 提供された SpEL 式に基づいてインスタンス化し、実行時に RSocket エンドポイントrouteをリクエストメッセージに対して評価します。方法の概要
修飾子と型メソッド説明protected voiddoInit()protected ObjectSEhandleRequestMessage(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。voidsetClientRSocketConnector(ClientRSocketConnector clientRSocketConnector) ClientRSocketConnector.getRequester()によって提供される接続に基づいて、クライアント側のリクエストに対してClientRSocketConnectorを構成します。voidsetExpectedResponseType(ClassSE<?> expectedResponseType) RSocket レスポンスのレスポンス型を指定します。voidsetExpectedResponseTypeExpression(Expression expectedResponseTypeExpression) Expressionを指定して、RSocket レスポンスの型を判別します。voidsetInteractionModel(RSocketInteractionModel interactionModel) RSocket リクエスト型のRSocketInteractionModelを構成します。voidsetInteractionModelExpression(Expression interactionModelExpression) リクエストメッセージに対して実行時に RSocket リクエスト型のRSocketInteractionModelを評価するように SpEL 式を構成します。voidsetMetadataExpression(Expression metadataExpression) SpEL 式を指定して、RSocket リクエストのメタデータをリクエストメッセージに対してMap<Object, MimeType>として評価します。voidsetPublisherElementType(ClassSE<?> publisherElementType) リクエストPublisher要素の型を構成します。voidsetPublisherElementTypeExpression(Expression publisherElementTypeExpression) 実行時にリクエストメッセージに対してリクエストPublisher要素型を評価するように SpEL 式を構成します。クラス org.springframework.integration.handler.AbstractReplyProducingMessageHandler から継承されたメソッド
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyクラス org.springframework.integration.handler.AbstractMessageProducingHandler から継承されたメソッド
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersクラス org.springframework.integration.handler.AbstractMessageHandler から継承されたメソッド
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionクラス org.springframework.integration.handler.MessageHandlerSupport から継承されたメソッド
buildSendTimer, destroy, getComponentType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackクラス org.springframework.integration.context.IntegrationObjectSupport から継承されたメソッド
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, wait, waitSE, waitSEインターフェース reactor.core.CoreSubscriber から継承されたメソッド
currentContextインターフェース org.springframework.integration.support.management.IntegrationManagement から継承されたメソッド
getThisAsインターフェース org.springframework.integration.support.context.NamedComponent から継承されたメソッド
getBeanName, getComponentName
コンストラクターの詳細
RSocketOutboundGateway
RSocketOutboundGateway
提供された SpEL 式に基づいてインスタンス化し、実行時に RSocket エンドポイントrouteをリクエストメッセージに対して評価します。ルートがテンプレートであり、変数の展開が必要な場合は、この式の評価でそれを行うことをお勧めします。たとえば、適切なロジックを備えた Bean を使用します。- パラメーター:
routeExpression- 使用する SpEL 式。
メソッドの詳細
setClientRSocketConnector
ClientRSocketConnector.getRequester()によって提供される接続に基づいて、クライアント側のリクエストに対してClientRSocketConnectorを構成します。サーバー側の場合、リクエストメッセージのRSocketRequesterMethodArgumentResolver.RSOCKET_REQUESTER_HEADERヘッダーにRSocketRequesterを指定する必要があります。- パラメーター:
clientRSocketConnector- 使用するClientRSocketConnector。
setInteractionModel
RSocket リクエスト型のRSocketInteractionModelを構成します。- パラメーター:
interactionModel- 使用するRSocketInteractionModel。- 導入:
- 5.2.2
setInteractionModelExpression
リクエストメッセージに対して実行時に RSocket リクエスト型のRSocketInteractionModelを評価するように SpEL 式を構成します。- パラメーター:
interactionModelExpression- 使用する SpEL 式。- 導入:
- 5.2.2
setPublisherElementType
リクエストPublisher要素の型を構成します。- パラメーター:
publisherElementType- リクエストPublisher要素の型。- 関連事項:
setPublisherElementTypeExpression
実行時にリクエストメッセージに対してリクエストPublisher要素型を評価するように SpEL 式を構成します。- パラメーター:
publisherElementTypeExpression- リクエストPublisher要素の型を評価する式。- 関連事項:
setExpectedResponseType
RSocket レスポンスのレスポンス型を指定します。- パラメーター:
expectedResponseType- 期待される型。- 関連事項:
setExpectedResponseTypeExpression
Expressionを指定して、RSocket レスポンスの型を判別します。- パラメーター:
expectedResponseTypeExpression- 予期されるレスポンス型の式。- 関連事項:
setMetadataExpression
SpEL 式を指定して、RSocket リクエストのメタデータをリクエストメッセージに対してMap<Object, MimeType>として評価します。- パラメーター:
metadataExpression- メタデータの式。
doInit
protected void doInit()- オーバーライド:
- クラス
AbstractReplyProducingMessageHandlerのdoInit
handleRequestMessage
クラスからコピーされた説明:AbstractReplyProducingMessageHandlerサブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。- 次で指定:
- クラス
AbstractReplyProducingMessageHandlerのhandleRequestMessage - パラメーター:
requestMessage- リクエストメッセージ。- 戻り値:
- メッセージを処理した結果、または
null