クラス DirectMessageListenerContainer

実装されたすべてのインターフェース:
MessageListenerContainerAwareBeanNameAwareDisposableBeanInitializingBeanApplicationContextAwareApplicationEventPublisherAwareLifecyclePhasedSmartLifecycle
既知の直属サブクラス
DirectReplyToMessageListenerContainer

public class DirectMessageListenerContainer extends AbstractMessageListenerContainer
SimpleMessageListenerContainer はそれほど単純ではありません。rabbitmq java クライアントに対する最近の変更により、rabbit クライアントコンシューマースレッドで直接リスナーを呼び出す、はるかに単純なリスナーコンテナーが促進されました。txSize プロパティはありません。各メッセージは個別に確認 (または拒否) されます。
導入:
2.0
作成者:
Gary Russell, Artem Bilan, Nicolas Ristock, Cao Weibo
  • フィールドの詳細

  • コンストラクターの詳細

    • DirectMessageListenerContainer

      public DirectMessageListenerContainer()
      インスタンスを作成します。開始する前に RabbitAccessor.setConnectionFactory(ConnectionFactory) を呼び出す必要があります。
    • DirectMessageListenerContainer

      public DirectMessageListenerContainer(ConnectionFactory connectionFactory)
      提供された接続ファクトリでインスタンスを作成します。
      パラメーター:
      connectionFactory - 接続ファクトリ。
  • メソッドの詳細

    • setConsumersPerQueue

      public void setConsumersPerQueue(int consumersPerQueue)
      各キューは独自のコンシューマーで実行されます。このプロパティを設定して、キューごとに複数のコンシューマーを作成します。コンテナーがすでに実行されている場合、キューごとのコンシューマーの数は必要に応じて増減されます。
      パラメーター:
      consumersPerQueue - キューごとのコンシューマー。
    • setExclusive

      public final void setExclusive(boolean exclusive)
      排他的コンシューマーの場合は true に設定します。true の場合、consumers per queue は 1 でなければなりません。
      オーバーライド:
      クラス AbstractMessageListenerContainersetExclusive 
      パラメーター:
      exclusive - 排他的なコンシューマーに当てはまります。
    • setTaskScheduler

      public void setTaskScheduler(TaskScheduler taskScheduler)
      アイドル状態のコンテナーと失敗したコンシューマーを監視するタスクに使用するタスクスケジューラーを設定します。
      パラメーター:
      taskScheduler - スケジューラー。
    • setMonitorInterval

      public void setMonitorInterval(long monitorInterval)
      失敗したコンシューマーとアイドル状態のコンテナーをチェックするタスクを実行する頻度を設定します。
      パラメーター:
      monitorInterval - 間隔 ; デフォルトは 10000 ですが、idleEventInterval/2 (構成されている場合) または failedDeclarationRetryInterval の最小値に調整されます。
    • setQueueNames

      public void setQueueNames(StringSE... queueName)
      クラスからコピーされた説明: AbstractMessageListenerContainer
      メッセージを受信するキューの名前を設定します。
      次で指定:
      インターフェース MessageListenerContainersetQueueNames 
      オーバーライド:
      クラス AbstractMessageListenerContainersetQueueNames 
      パラメーター:
      queueName - 目的のキュー名 (null にすることはできません)
    • setMissingQueuesFatal

      public final void setMissingQueuesFatal(boolean missingQueuesFatal)
      構成されたすべてのキューがブローカーで使用できない場合、この設定は状態が致命的であるかどうかを判別します。true の場合、起動時にキューが欠落していると、コンテキスト refresh() は失敗します。

      false の場合、条件は致命的とは見なされず、コンテナーは引き続きコンシューマーを開始しようとします。

      このコンテナーのデフォルトは false です。

      オーバーライド:
      クラス AbstractMessageListenerContainersetMissingQueuesFatal 
      パラメーター:
      missingQueuesFatal - 設定する missingQueuesFatal
      関連事項:
    • setMessagesPerAck

      public void setMessagesPerAck(int messagesPerAck)
      確認応答 (成功) する前に受信するメッセージの数を設定します。失敗したメッセージは、このカウンターを短絡します。
      パラメーター:
      messagesPerAck - メッセージの数。
      関連事項:
    • setAckTimeout

      public void setAckTimeout(long ackTimeout)
      おおよそのタイムアウト。messagesPerAck が 1 よりも大きく、最後の ACK から時間が経過した場合、保留中の ACK は、次のメッセージが到着したとき、または追加のメッセージが到着しない場合はしばらくしてから送信されます。その場合、実際の時間は monitorInterval によって異なります。
      パラメーター:
      ackTimeout - ミリ秒単位のタイムアウト (デフォルトは 20000)。
      関連事項:
    • addQueueNames

      public void addQueueNames(StringSE... queueNames)
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナーのキューのリストにキューを追加します。
      オーバーライド:
      クラス AbstractMessageListenerContaineraddQueueNames 
      パラメーター:
      queueNames - 追加するキュー。
    • addQueues

      public void addQueues(Queue... queues)
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナーのキューのリストにキューを追加します。
      オーバーライド:
      クラス AbstractMessageListenerContaineraddQueues 
      パラメーター:
      queues - 追加するキュー。
    • removeQueueNames

      public boolean removeQueueNames(StringSE... queueNames)
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナーのキューのリストからキューを削除します。
      オーバーライド:
      クラス AbstractMessageListenerContainerremoveQueueNames 
      パラメーター:
      queueNames - 削除するキュー。
      戻り値:
      ターゲット queueNames リストでの削除のブール結果。
    • removeQueues

      public boolean removeQueues(Queue... queues)
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナーのキューのリストからキューを削除します。
      オーバーライド:
      クラス AbstractMessageListenerContainerremoveQueues 
      パラメーター:
      queues - 削除するキュー。
      戻り値:
      ターゲット queueNames リストでの削除のブール結果。
    • findIdleConsumer

      protected int findIdleConsumer()
      下方調整する場合は、キャンセル可能なコンシューマーを返します。AbstractMessageListenerContainer.consumersLock でロックされているときに呼び出されます。
      戻り値:
      コンシューマーインデックス、またはアイドル状態でない場合は -1。
      導入:
      2.0.6
    • doInitialize

      protected void doInitialize()
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナー内の呼び出し元を登録します。

      サブクラスは、特定の呼び出し元管理プロセスのためにこのメソッドを実装する必要があります。

      次で指定:
      クラス AbstractMessageListenerContainerdoInitialize 
    • doStart

      protected void doStart()
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このコンテナーを開始し、すべての呼び出し側タスクに通知します。
      オーバーライド:
      クラス AbstractMessageListenerContainerdoStart 
    • doStop

      protected void doStop()
      クラスからコピーされた説明: AbstractMessageListenerContainer
      このメソッドは、コンテナーが停止しているときに呼び出されます。
      オーバーライド:
      クラス AbstractMessageListenerContainerdoStop 
    • actualStart

      protected void actualStart()
    • checkConnect

      protected void checkConnect()
    • doRedeclareElementsIfNecessary

      protected void doRedeclareElementsIfNecessary()
    • processMonitorTask

      protected void processMonitorTask()
      サブクラスはこれをオーバーライドして、監視タスクの実行時に追加のアクションを実行できます。
    • shutdownAndWaitOrCallback

      protected void shutdownAndWaitOrCallback(@Nullable RunnableSE callback)
      オーバーライド:
      クラス AbstractMessageListenerContainershutdownAndWaitOrCallback 
    • consumerRemoved

      protected void consumerRemoved(DirectMessageListenerContainer.SimpleConsumer consumer)
      コンシューマーが削除されるたびに呼び出されます。
      パラメーター:
      consumer - コンシューマー。