クラス TcpOutboundGateway
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.ip.tcp.outbound.TcpOutboundGateway
- 実装されているすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>、Aware、BeanClassLoaderAware、BeanFactoryAware、BeanNameAware、DisposableBean、InitializingBean、ApplicationContextAware、Lifecycle、Ordered、ComponentSourceAware、ExpressionCapable、Orderable、MessageProducer、HeaderPropagationAware、IntegrationPattern、TcpListener、TcpSender、NamedComponent、IntegrationManagement、ManageableLifecycle、TrackableComponent、MessageHandler、reactor.core.CoreSubscriber<Message<?>>
- 既知の直属サブクラス
TcpOutboundGateway
public class TcpOutboundGateway
extends AbstractReplyProducingMessageHandler
implements TcpSender, TcpListener, ManageableLifecycle
クライアント接続ファクトリを使用する TCP 送信ゲートウェイ。ファクトリが使い捨て接続用に設定されている場合、各リクエストは新しい接続で送信されます。ファクトリが単一使用接続を使用しない場合、各リクエストは前のレスポンスが受信されるまで(またはタイムアウトになるまで)ブロックされます。同じ接続を介した非同期のリクエスト / レスポンスはサポートされていません。そのユースケースには送信 / 受信アダプターのペアを使用してください。
Lifecycle メソッドは、基になる AbstractConnectionFactory に委譲します。
- 導入:
- 2.0
- 作成者:
- Gary Russell, 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コンストラクターの概要
コンストラクター方法の概要
修飾子と型メソッド説明voidaddNewConnection(TcpConnection connection) TcpListenerが所有するソケットを使用している場合、このメソッドは新しい接続が確立されるたびに呼び出されます。protected voiddoInit()protected AbstractConnectionFactoryprotected ObjectSEhandleRequestMessage(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。booleanvoid新しいメッセージが到着したときに TCPConnection によって呼び出されます。voidremoveDeadConnection(TcpConnection connection) TcpListenerが所有するソケットを使用している場合、このメソッドは接続が閉じられるたびに呼び出されます。voidsetCloseStreamAfterSend(boolean closeStreamAfterSend) 接続を閉じずに送信後に接続出力ストリームを閉じるには、true に設定します。voidsetConnectionFactory(AbstractClientConnectionFactory connectionFactory) voidsetIntegrationEvaluationContext(EvaluationContext evaluationContext) voidsetRemoteTimeout(long remoteTimeout) voidsetRemoteTimeoutExpression(Expression remoteTimeoutExpression) voidsetReplyChannel(MessageChannel replyChannel) Spring Integration 応答チャネルを指定します。voidsetReplyChannelName(StringSE replyChannel) Spring Integration 応答チャネル名を指定します。voidsetRequestTimeout(long requestTimeout) voidsetSecondChanceDelay(int secondChanceDelay) NIO を使用し、サーバーが応答を送信した後にソケットを閉じると、応答の前に閉じることを表すエラーメッセージが表示される場合があります。voidsetUnsolicitedMessageChannel(MessageChannel unsolicitedMessageChannel) 未承諾の受信メッセージまたは遅延応答のチャネルを設定します。voidsetUnsolicitedMessageChannelName(StringSE unsolicitedMessageChannelName) 未承諾の受信メッセージまたは遅延応答のチャネル名を設定します。voidstart()voidstop()クラス 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, 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
コンストラクターの詳細
TcpOutboundGateway
public TcpOutboundGateway()
メソッドの詳細
setConnectionFactory
setRequestTimeout
public void setRequestTimeout(long requestTimeout) - パラメーター:
requestTimeout- 設定する requestTimeout
setRemoteTimeout
public void setRemoteTimeout(long remoteTimeout) - パラメーター:
remoteTimeout- 設定する remoteTimeout
setRemoteTimeoutExpression
- パラメーター:
remoteTimeoutExpression- 設定する remoteTimeoutExpression
setIntegrationEvaluationContext
setReplyChannel
Spring Integration 応答チャネルを指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。- パラメーター:
replyChannel- 返信チャンネル。
setReplyChannelName
Spring Integration 応答チャネル名を指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。- パラメーター:
replyChannel- 返信チャンネル。- 導入:
- 5.0
setUnsolicitedMessageChannelName
未承諾の受信メッセージまたは遅延応答のチャネル名を設定します。- パラメーター:
unsolicitedMessageChannelName- チャンネル名。- 導入:
- 5.4
setUnsolicitedMessageChannel
未承諾の受信メッセージまたは遅延応答のチャネルを設定します。- パラメーター:
unsolicitedMessageChannel- チャンネル。- 導入:
- 5.4
setCloseStreamAfterSend
public void setCloseStreamAfterSend(boolean closeStreamAfterSend) 接続を閉じずに送信後に接続出力ストリームを閉じるには、true に設定します。ByteArrayRawSerializerを使用する場合など、サーバーに EOF を通知するために使用します。使い捨て接続ファクトリが必要です。- パラメーター:
closeStreamAfterSend- 閉じます。- 導入:
- 5.2
setSecondChanceDelay
public void setSecondChanceDelay(int secondChanceDelay) NIO を使用し、サーバーが応答を送信した後にソケットを閉じると、応答の前に閉じることを表すエラーメッセージが表示される場合があります。ErrorMessageを受信した後、実際の応答を待つ遅延を秒単位で設定します。デフォルトは 2 秒。- パラメーター:
secondChanceDelay- 遅延。- 導入:
- 5.0.8
getComponentType
- 次で指定:
- インターフェース
NamedComponentのgetComponentType - オーバーライド:
- クラス
MessageHandlerSupportのgetComponentType
doInit
protected void doInit()- オーバーライド:
- クラス
AbstractReplyProducingMessageHandlerのdoInit
handleRequestMessage
クラスからコピーされた説明:AbstractReplyProducingMessageHandlerサブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。- 次で指定:
- クラス
AbstractReplyProducingMessageHandlerのhandleRequestMessage - パラメーター:
requestMessage- リクエストメッセージ。- 戻り値:
- メッセージを処理した結果、または
null
onMessage
インターフェースからコピーされた説明:TcpListener新しいメッセージが到着したときに TCPConnection によって呼び出されます。- 次で指定:
- インターフェース
TcpListenerのonMessage - パラメーター:
message- メッセージ。
addNewConnection
インターフェースからコピーされた説明:TcpSenderTcpListenerが所有するソケットを使用している場合、このメソッドは新しい接続が確立されるたびに呼び出されます。- 次で指定:
- インターフェース
TcpSenderのaddNewConnection - パラメーター:
connection- 接続。
removeDeadConnection
インターフェースからコピーされた説明:TcpSenderTcpListenerが所有するソケットを使用している場合、このメソッドは接続が閉じられるたびに呼び出されます。- 次で指定:
- インターフェース
TcpSenderのremoveDeadConnection - パラメーター:
connection- 接続。
start
public void start()- 次で指定:
- インターフェース
Lifecycleのstart - 次で指定:
- インターフェース
ManageableLifecycleのstart
stop
public void stop()- 次で指定:
- インターフェース
Lifecycleのstop - 次で指定:
- インターフェース
ManageableLifecycleのstop
isRunning
public boolean isRunning()- 次で指定:
- インターフェース
LifecycleのisRunning - 次で指定:
- インターフェース
ManageableLifecycleのisRunning
getConnectionFactory
- 戻り値:
- connectionFactory