クラス FailoverClientConnectionFactory

実装されたすべてのインターフェース:
AwareBeanFactoryAwareBeanNameAwareInitializingBeanApplicationContextAwareApplicationEventPublisherAwareLifecycleComponentSourceAwareExpressionCapableConnectionFactoryNamedComponentManageableLifecycle

public class FailoverClientConnectionFactory extends AbstractClientConnectionFactory
接続ファクトリのリストを指定すると、TcpConnection を提供し、書き込みが成功するかリストが使い果たされるまで、各ファクトリからの接続を反復処理できます。
導入:
2.2
作成者:
Gary Russell, Christian Tzolov
  • コンストラクターの詳細

    • FailoverClientConnectionFactory

      public FailoverClientConnectionFactory(ListSE<AbstractClientConnectionFactory> factories)
      提供されたデリゲートファクトリを使用してインスタンスを構築します。
      パラメーター:
      factories - 代表団。
  • メソッドの詳細

    • setRefreshSharedInterval

      public void setRefreshSharedInterval(long refreshSharedInterval)
      共有接続 singleUse を使用する場合、false の場合、ファクトリリストの最初からフェールバックして開始するまでの待機時間を指定します。デフォルトは Long.MAX_VALUESE です。これは、現在の接続が失敗した場合にのみフェールバックすることを意味します。CachingClientConnectionFactory デリゲートを使用している場合は変更できません。
      パラメーター:
      refreshSharedInterval - ミリ秒単位の間隔。
      導入:
      4.3.22
      関連事項:
    • setCloseOnRefresh

      public void setCloseOnRefresh(boolean closeOnRefresh)
      共有接続を使用する場合 singleUse が false の場合、これを true に設定すると、リフレッシュ後に古い共有接続が閉じられます。これが false の場合、接続は開いたままになりますが、接続ファクトリが接続の取得に再び使用されるまで使用されません。下位互換性のため、デフォルトは false です。CachingClientConnectionFactory デリゲートを使用している場合は変更できません。
      パラメーター:
      closeOnRefresh - 閉じます。
      導入:
      4.3.22
      関連事項:
    • onInit

      protected void onInit()
      クラスからコピーされた説明: IntegrationObjectSupport
      サブクラスは、初期化ロジック用にこれを実装できます。
      オーバーライド:
      クラス AbstractConnectionFactoryonInit 
    • registerListener

      public void registerListener(TcpListener listener)
      データの受信に使用されるデリゲート TCP クライアント接続ファクトリには、メッセージを送信するリスナーが必要です。これは、送信ゲートウェイまたはコラボレーションチャネルアダプターのペアに使用されるクライアントファクトリに適用されます。

      初期化中に、ファクトリにリスナーがないことが検出されると、そのリスニングロジック(アクティブスレッド)は終了します。

      onMessage() メソッドを呼び出すことができるように、ファクトリに登録されたリスナーは、それが作成する各接続に提供されます。

      このコードは、このリスナーがリスニングロジックを実行する必要があることをファクトリに通知するという最初の要件を満たします。

      実際の接続を FailoverTcpConnections でラップすると、接続にはリスナーとしてラッパーが渡されるため、onMessage() のヘッダーを拡張できます。その後、ラッパーは変更されたメッセージを使用して、ここで提供される実際のリスナーを呼び出します。

      オーバーライド:
      クラス AbstractConnectionFactoryregisterListener 
      パラメーター:
      listener - TcpListener。
    • registerSender

      public void registerSender(TcpSender sender)
      クラスからコピーされた説明: AbstractConnectionFactory
      TcpSender を登録します。サーバーソケットの場合、接続情報を提供するために使用されるため、送信者は受信メッセージに返信するために使用できます。
      オーバーライド:
      クラス AbstractConnectionFactoryregisterSender 
      パラメーター:
      sender - 送り主
    • obtainConnection

      protected TcpConnectionSupport obtainConnection() throws InterruptedExceptionSE
      オーバーライド:
      クラス AbstractClientConnectionFactoryobtainConnection 
      例外:
      InterruptedExceptionSE
    • start

      public void start()
      次で指定:
      インターフェース Lifecyclestart 
      次で指定:
      インターフェース ManageableLifecyclestart 
      オーバーライド:
      クラス AbstractConnectionFactorystart 
    • stop

      public void stop()
      クラスからコピーされた説明: AbstractConnectionFactory
      サーバーの停止。
      次で指定:
      インターフェース Lifecyclestop 
      次で指定:
      インターフェース ManageableLifecyclestop 
      オーバーライド:
      クラス AbstractConnectionFactorystop 
    • isRunning

      public boolean isRunning()
      すべてのファクトリが実行されている場合は true を返します。
      次で指定:
      インターフェース LifecycleisRunning 
      次で指定:
      インターフェース ManageableLifecycleisRunning 
      オーバーライド:
      クラス AbstractConnectionFactoryisRunning