クラス 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.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<?>>
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
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
addNewConnection
(TcpConnection connection) TcpListener
が所有するソケットを使用している場合、このメソッドは新しい接続が確立されるたびに呼び出されます。protected void
doInit()
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。protected AbstractConnectionFactory
protected ObjectSE
handleRequestMessage
(Message<?> requestMessage) サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。boolean
boolean
新しいメッセージが到着したときに TCPConnection によって呼び出されます。void
removeDeadConnection
(TcpConnection connection) TcpListener
が所有するソケットを使用している場合、このメソッドは接続が閉じられるたびに呼び出されます。void
setCloseStreamAfterSend
(boolean closeStreamAfterSend) 接続を閉じずに送信後に接続出力ストリームを閉じるには、true に設定します。void
setConnectionFactory
(AbstractClientConnectionFactory connectionFactory) void
setIntegrationEvaluationContext
(EvaluationContext evaluationContext) void
setRemoteTimeout
(long remoteTimeout) void
setRemoteTimeoutExpression
(Expression remoteTimeoutExpression) void
setReplyChannel
(MessageChannel replyChannel) Spring Integration 応答チャネルを指定します。void
setReplyChannelName
(StringSE replyChannel) Spring Integration 応答チャネル名を指定します。void
setRequestTimeout
(long requestTimeout) void
setSecondChanceDelay
(int secondChanceDelay) NIO を使用し、サーバーが応答を送信した後にソケットを閉じると、応答の前に閉じることを表すエラーメッセージが表示される場合があります。void
setUnsolicitedMessageChannel
(MessageChannel unsolicitedMessageChannel) 未承諾の受信メッセージまたは遅延応答のチャネルを設定します。void
setUnsolicitedMessageChannelName
(StringSE unsolicitedMessageChannelName) 未承諾の受信メッセージまたは遅延応答のチャネル名を設定します。void
start()
void
stop()
クラス 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
クラスからコピーされた説明:IntegrationObjectSupport
サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。- 次で指定:
- インターフェース
NamedComponent
のgetComponentType
- オーバーライド:
- クラス
MessageHandlerSupport
のgetComponentType
doInit
protected void doInit()- オーバーライド:
- クラス
AbstractReplyProducingMessageHandler
のdoInit
handleRequestMessage
クラスからコピーされた説明:AbstractReplyProducingMessageHandler
サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。- 次で指定:
- クラス
AbstractReplyProducingMessageHandler
のhandleRequestMessage
- パラメーター:
requestMessage
- リクエストメッセージ。- 戻り値:
- メッセージを処理した結果、または
null
onMessage
インターフェースからコピーされた説明:TcpListener
新しいメッセージが到着したときに TCPConnection によって呼び出されます。- 次で指定:
- インターフェース
TcpListener
のonMessage
- パラメーター:
message
- メッセージ。- 戻り値:
- メッセージがインターセプトされた場合は true
addNewConnection
インターフェースからコピーされた説明:TcpSender
TcpListener
が所有するソケットを使用している場合、このメソッドは新しい接続が確立されるたびに呼び出されます。- 次で指定:
- インターフェース
TcpSender
のaddNewConnection
- パラメーター:
connection
- 接続。
removeDeadConnection
インターフェースからコピーされた説明:TcpSender
TcpListener
が所有するソケットを使用している場合、このメソッドは接続が閉じられるたびに呼び出されます。- 次で指定:
- インターフェース
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