クラス TcpOutboundGateway

実装されているすべてのインターフェース:
org.reactivestreams.Subscriber<Message<?>>AwareBeanClassLoaderAwareBeanFactoryAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareLifecycleOrderedComponentSourceAwareExpressionCapableOrderableMessageProducerHeaderPropagationAwareIntegrationPatternTcpListenerTcpSenderNamedComponentIntegrationManagementManageableLifecycleTrackableComponentMessageHandlerreactor.core.CoreSubscriber<Message<?>>

public class TcpOutboundGateway extends AbstractReplyProducingMessageHandler implements TcpSender, TcpListener, ManageableLifecycle
クライアント接続ファクトリを使用する TCP 送信ゲートウェイ。ファクトリが使い捨て接続用に設定されている場合、各リクエストは新しい接続で送信されます。ファクトリが単一使用接続を使用しない場合、各リクエストは前のレスポンスが受信されるまで(またはタイムアウトになるまで)ブロックされます。同じ接続を介した非同期のリクエスト / レスポンスはサポートされていません。そのユースケースには送信 / 受信アダプターのペアを使用してください。

Lifecycle メソッドは、基になる AbstractConnectionFactory に委譲します。

導入:
2.0
作成者:
Gary Russell, Artem Bilan
  • コンストラクターの詳細

    • TcpOutboundGateway

      public TcpOutboundGateway()
  • メソッドの詳細

    • setConnectionFactory

      public void setConnectionFactory(AbstractClientConnectionFactory connectionFactory)
    • setRequestTimeout

      public void setRequestTimeout(long requestTimeout)
      パラメーター:
      requestTimeout - 設定する requestTimeout
    • setRemoteTimeout

      public void setRemoteTimeout(long remoteTimeout)
      パラメーター:
      remoteTimeout - 設定する remoteTimeout
    • setRemoteTimeoutExpression

      public void setRemoteTimeoutExpression(Expression remoteTimeoutExpression)
      パラメーター:
      remoteTimeoutExpression - 設定する remoteTimeoutExpression
    • setIntegrationEvaluationContext

      public void setIntegrationEvaluationContext(EvaluationContext evaluationContext)
    • setReplyChannel

      public void setReplyChannel(MessageChannel replyChannel)
      Spring Integration 応答チャネルを指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。
      パラメーター:
      replyChannel - 返信チャンネル。
    • setReplyChannelName

      public void setReplyChannelName(StringSE replyChannel)
      Spring Integration 応答チャネル名を指定します。このプロパティが設定されていない場合、ゲートウェイはリクエストの "replyChannel" ヘッダーをチェックします。
      パラメーター:
      replyChannel - 返信チャンネル。
      導入:
      5.0
    • setUnsolicitedMessageChannelName

      public void setUnsolicitedMessageChannelName(StringSE unsolicitedMessageChannelName)
      未承諾の受信メッセージまたは遅延応答のチャネル名を設定します。
      パラメーター:
      unsolicitedMessageChannelName - チャンネル名。
      導入:
      5.4
    • setUnsolicitedMessageChannel

      public void setUnsolicitedMessageChannel(MessageChannel unsolicitedMessageChannel)
      未承諾の受信メッセージまたは遅延応答のチャネルを設定します。
      パラメーター:
      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

      public StringSE getComponentType()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスはこのメソッドを実装して、コンポーネント型情報を提供できます。
      次で指定:
      インターフェース NamedComponentgetComponentType 
      オーバーライド:
      クラス MessageHandlerSupportgetComponentType 
    • doInit

      protected void doInit()
      オーバーライド:
      クラス AbstractReplyProducingMessageHandlerdoInit 
    • handleRequestMessage

      protected ObjectSE handleRequestMessage(Message<?> requestMessage)
      クラスからコピーされた説明: AbstractReplyProducingMessageHandler
      サブクラスはこのメソッドを実装して、リクエストメッセージを処理する必要があります。戻り値は、メッセージ、MessageBuilder、任意のプレーンオブジェクトです。基本クラスは、これらの開始点のいずれかからの返信メッセージの最終的な作成を処理します。戻り値が null の場合、メッセージフローはここで終了します。
      次で指定:
      クラス AbstractReplyProducingMessageHandlerhandleRequestMessage 
      パラメーター:
      requestMessage - リクエストメッセージ。
      戻り値:
      メッセージを処理した結果、または null
    • onMessage

      public boolean onMessage(Message<?> message)
      インターフェースからコピーされた説明: TcpListener
      新しいメッセージが到着したときに TCPConnection によって呼び出されます。
      次で指定:
      インターフェース TcpListeneronMessage 
      パラメーター:
      message - メッセージ。
      戻り値:
      メッセージがインターセプトされた場合は true
    • addNewConnection

      public void addNewConnection(TcpConnection connection)
      インターフェースからコピーされた説明: TcpSender
      TcpListener が所有するソケットを使用している場合、このメソッドは新しい接続が確立されるたびに呼び出されます。
      次で指定:
      インターフェース TcpSenderaddNewConnection 
      パラメーター:
      connection - 接続。
    • removeDeadConnection

      public void removeDeadConnection(TcpConnection connection)
      インターフェースからコピーされた説明: TcpSender
      TcpListener が所有するソケットを使用している場合、このメソッドは接続が閉じられるたびに呼び出されます。
      次で指定:
      インターフェース TcpSenderremoveDeadConnection 
      パラメーター:
      connection - 接続。
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
      次で指定:
      インターフェース ManageableLifecyclestart 
    • stop

      public void stop()
      次で指定:
      インターフェース Lifecyclestop 
      次で指定:
      インターフェース ManageableLifecyclestop 
    • isRunning

      public boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
      次で指定:
      インターフェース ManageableLifecycleisRunning 
    • getConnectionFactory

      protected AbstractConnectionFactory getConnectionFactory()
      戻り値:
      connectionFactory