クラス DirectMessageListenerContainer
java.lang.ObjectSE
org.springframework.amqp.rabbit.connection.RabbitAccessor
org.springframework.amqp.rabbit.listener.ObservableListenerContainer
org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer
org.springframework.amqp.rabbit.listener.DirectMessageListenerContainer
- 実装されたすべてのインターフェース:
MessageListenerContainer
、Aware
、BeanNameAware
、DisposableBean
、InitializingBean
、ApplicationContextAware
、ApplicationEventPublisherAware
、Lifecycle
、Phased
、SmartLifecycle
- 既知の直属サブクラス
DirectReplyToMessageListenerContainer
SimpleMessageListenerContainer
はそれほど単純ではありません。rabbitmq java クライアントに対する最近の変更により、rabbit クライアントコンシューマースレッドで直接リスナーを呼び出す、はるかに単純なリスナーコンテナーが促進されました。txSize プロパティはありません。各メッセージは個別に確認 (または拒否) されます。- 導入:
- 2.0
- 作成者:
- Gary Russell, Artem Bilan, Nicolas Ristock, Cao Weibo
ネストされたクラスのサマリー
ネストされたクラスクラス org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer から継承されたネストクラス / インターフェース
AbstractMessageListenerContainer.DefaultExclusiveConsumerLogger, AbstractMessageListenerContainer.JavaLangErrorHandler, AbstractMessageListenerContainer.SharedConnectionNotInitializedException, AbstractMessageListenerContainer.WrappedTransactionException
フィールドサマリー
フィールドクラス org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer から継承されたフィールド
consumersLock, DEFAULT_DEBATCHING_ENABLED, DEFAULT_PREFETCH_COUNT, DEFAULT_RECOVERY_INTERVAL, DEFAULT_SHUTDOWN_TIMEOUT, lifecycleLock, stopNow
クラス org.springframework.amqp.rabbit.connection.RabbitAccessor から継承されたフィールド
logger
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
コンストラクターコンストラクター説明インスタンスを作成します。開始する前にRabbitAccessor.setConnectionFactory(ConnectionFactory)
を呼び出す必要があります。DirectMessageListenerContainer
(ConnectionFactory connectionFactory) 提供された接続ファクトリでインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明protected void
void
addQueueNames
(StringSE... queueNames) このコンテナーのキューのリストにキューを追加します。void
このコンテナーのキューのリストにキューを追加します。protected void
protected void
コンシューマーが削除されるたびに呼び出されます。protected void
このコンテナー内の呼び出し元を登録します。protected void
protected void
doStart()
このコンテナーを開始し、すべての呼び出し側タスクに通知します。protected void
doStop()
このメソッドは、コンテナーが停止しているときに呼び出されます。protected int
下に調整するときは、キャンセル可能なコンシューマーを返します。protected void
サブクラスはこれをオーバーライドして、監視タスクの実行時に追加のアクションを実行できます。boolean
removeQueueNames
(StringSE... queueNames) このコンテナーのキューのリストからキューを削除します。boolean
removeQueues
(Queue... queues) このコンテナーのキューのリストからキューを削除します。void
setAckTimeout
(long ackTimeout) おおよそのタイムアウト。messagesPerAck
が 1 よりも大きく、最後の ACK から時間が経過した場合、保留中の ACK は、次のメッセージが到着したとき、または追加のメッセージが到着しない場合はしばらくしてから送信されます。void
setConsumersPerQueue
(int consumersPerQueue) 各キューは独自のコンシューマーで実行されます。このプロパティを設定して、キューごとに複数のコンシューマーを作成します。final void
setExclusive
(boolean exclusive) 排他的コンシューマーの場合は true に設定します。true の場合、consumers per queue
は 1 でなければなりません。void
setMessagesPerAck
(int messagesPerAck) 確認応答 (成功) する前に受信するメッセージの数を設定します。final void
setMissingQueuesFatal
(boolean missingQueuesFatal) 構成されたすべてのキューがブローカーで使用できない場合、この設定は状態が致命的であるかどうかを判別します。void
setMonitorInterval
(long monitorInterval) 失敗したコンシューマーとアイドル状態のコンテナーをチェックするタスクを実行する頻度を設定します。void
setQueueNames
(StringSE... queueName) メッセージを受信するキューの名前を設定します。void
setTaskScheduler
(TaskScheduler taskScheduler) アイドル状態のコンテナーと失敗したコンシューマーを監視するタスクに使用するタスクスケジューラーを設定します。protected void
shutdownAndWaitOrCallback
(RunnableSE callback) クラス org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer から継承されたメソッド
actualInvokeListener, addAfterReceivePostProcessors, afterPropertiesSet, causeChainHasImmediateAcknowledgeAmqpException, checkMessageListener, checkMismatchedQueues, configureAdminIfNeeded, debatch, destroy, doInvokeListener, doInvokeListener, doSetPossibleAuthenticationFailureFatal, doShutdown, executeListener, executeListenerAndHandleException, getAcknowledgeMode, getAdviceChain, getAfterReceivePostProcessors, getAmqpAdmin, getApplicationEventPublisher, getBatchingStrategy, getConnectionFactory, getConsumeDelay, getConsumerArguments, getConsumerTagStrategy, getExclusiveConsumerExceptionLogger, getFailedDeclarationRetryInterval, getIdleEventInterval, getJavaLangErrorHandler, getLastReceive, getMessageAckListener, getMessageListener, getMessagePropertiesConverter, getPhase, getPrefetchCount, getQueueNames, getQueueNamesAsSet, getQueueNamesToQueues, getRecoveryBackOff, getRoutingConnectionFactory, getRoutingLookupKey, getShutdownTimeout, getTaskExecutor, getTransactionAttribute, getTransactionManager, handleListenerException, initialize, initializeProxy, invokeErrorHandler, invokeListener, isActive, isAlwaysRequeueWithTxManagerRollback, isAsyncReplies, isAutoDeclare, isAutoStartup, isChannelLocallyTransacted, isDeBatchingEnabled, isDefaultRequeueRejected, isExclusive, isExposeListenerChannel, isForceCloseChannel, isForceStop, isGlobalQos, isMismatchedQueuesFatal, isMissingQueuesFatal, isMissingQueuesFatalSet, isNoLocal, isPossibleAuthenticationFailureFatal, isPossibleAuthenticationFailureFatalSet, isRunning, isStatefulRetryFatalWithNullMessageId, lazyLoad, prepareHolderForRollback, publishConsumerFailedEvent, publishIdleContainerEvent, publishMissingQueueEvent, redeclareElementsIfNecessary, removeAfterReceivePostProcessor, setAcknowledgeMode, setAdviceChain, setAfterReceivePostProcessors, setAlwaysRequeueWithTxManagerRollback, setAmqpAdmin, setApplicationEventPublisher, setAutoDeclare, setAutoStartup, setBatchingStrategy, setConsumeDelay, setConsumerArguments, setConsumerTagStrategy, setDeBatchingEnabled, setDefaultRequeueRejected, setErrorHandler, setErrorHandlerLoggerName, setExclusiveConsumerExceptionLogger, setExposeListenerChannel, setFailedDeclarationRetryInterval, setForceCloseChannel, setForceStop, setGlobalQos, setIdleEventInterval, setjavaLangErrorHandler, setLookupKeyQualifier, setMessageAckListener, setMessageListener, setMessagePropertiesConverter, setMismatchedQueuesFatal, setNoLocal, setNotRunning, setObservationConvention, setPhase, setPossibleAuthenticationFailureFatal, setPrefetchCount, setQueues, setRecoveryBackOff, setRecoveryInterval, setShutdownTimeout, setStatefulRetryFatalWithNullMessageId, setTaskExecutor, setTransactionAttribute, setTransactionManager, setupMessageListener, shutdown, shutdown, start, stop, stop, updateLastReceive, validateConfiguration, wrapToListenerExecutionFailedExceptionIfNeeded
クラス org.springframework.amqp.rabbit.listener.ObservableListenerContainer から継承されたメソッド
checkMicrometer, checkObservation, getApplicationContext, getBeanName, getListenerId, getMicrometerHolder, setApplicationContext, setBeanName, setListenerId, setMicrometerEnabled, setMicrometerTags, setObservationEnabled
クラス org.springframework.amqp.rabbit.connection.RabbitAccessor から継承されたメソッド
convertRabbitAccessException, createConnection, getChannel, getConnection, getObservationRegistry, getTransactionalResourceHolder, isChannelTransacted, obtainObservationRegistry, setChannelTransacted, setConnectionFactory
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.amqp.rabbit.listener.MessageListenerContainer から継承されたメソッド
isConsumerBatchEnabled
フィールドの詳細
consumers
コンストラクターの詳細
DirectMessageListenerContainer
public DirectMessageListenerContainer()インスタンスを作成します。開始する前にRabbitAccessor.setConnectionFactory(ConnectionFactory)
を呼び出す必要があります。DirectMessageListenerContainer
提供された接続ファクトリでインスタンスを作成します。- パラメーター:
connectionFactory
- 接続ファクトリ。
メソッドの詳細
setConsumersPerQueue
public void setConsumersPerQueue(int consumersPerQueue) 各キューは独自のコンシューマーで実行されます。このプロパティを設定して、キューごとに複数のコンシューマーを作成します。コンテナーがすでに実行されている場合、キューごとのコンシューマーの数は必要に応じて増減されます。- パラメーター:
consumersPerQueue
- キューごとのコンシューマー。
setExclusive
public final void setExclusive(boolean exclusive) 排他的コンシューマーの場合は true に設定します。true の場合、consumers per queue
は 1 でなければなりません。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のsetExclusive
- パラメーター:
exclusive
- 排他的なコンシューマーに当てはまります。
setTaskScheduler
アイドル状態のコンテナーと失敗したコンシューマーを監視するタスクに使用するタスクスケジューラーを設定します。- パラメーター:
taskScheduler
- スケジューラー。
setMonitorInterval
public void setMonitorInterval(long monitorInterval) 失敗したコンシューマーとアイドル状態のコンテナーをチェックするタスクを実行する頻度を設定します。- パラメーター:
monitorInterval
- 間隔 ; デフォルトは 10000 ですが、idleEventInterval
/2 (構成されている場合) またはfailedDeclarationRetryInterval
の最小値に調整されます。
setQueueNames
クラスからコピーされた説明:AbstractMessageListenerContainer
メッセージを受信するキューの名前を設定します。- 次で指定:
- インターフェース
MessageListenerContainer
のsetQueueNames
- オーバーライド:
- クラス
AbstractMessageListenerContainer
のsetQueueNames
- パラメーター:
queueName
- 目的のキュー名 (null
にすることはできません)
setMissingQueuesFatal
public final void setMissingQueuesFatal(boolean missingQueuesFatal) 構成されたすべてのキューがブローカーで使用できない場合、この設定は状態が致命的であるかどうかを判別します。true の場合、起動時にキューが欠落していると、コンテキスト refresh() は失敗します。false の場合、条件は致命的とは見なされず、コンテナーは引き続きコンシューマーを開始しようとします。
このコンテナーのデフォルトは false です。
- オーバーライド:
- クラス
AbstractMessageListenerContainer
のsetMissingQueuesFatal
- パラメーター:
missingQueuesFatal
- 設定する missingQueuesFatal- 関連事項:
setMessagesPerAck
public void setMessagesPerAck(int messagesPerAck) 確認応答 (成功) する前に受信するメッセージの数を設定します。失敗したメッセージは、このカウンターを短絡します。- パラメーター:
messagesPerAck
- メッセージの数。- 関連事項:
setAckTimeout
public void setAckTimeout(long ackTimeout) おおよそのタイムアウト。messagesPerAck
が 1 よりも大きく、最後の ACK から時間が経過した場合、保留中の ACK は、次のメッセージが到着したとき、または追加のメッセージが到着しない場合はしばらくしてから送信されます。その場合、実際の時間はmonitorInterval
によって異なります。- パラメーター:
ackTimeout
- ミリ秒単位のタイムアウト (デフォルトは 20000)。- 関連事項:
addQueueNames
クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナーのキューのリストにキューを追加します。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のaddQueueNames
- パラメーター:
queueNames
- 追加するキュー。
addQueues
クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナーのキューのリストにキューを追加します。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のaddQueues
- パラメーター:
queues
- 追加するキュー。
removeQueueNames
クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナーのキューのリストからキューを削除します。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のremoveQueueNames
- パラメーター:
queueNames
- 削除するキュー。- 戻り値:
- ターゲット
queueNames
リストでの削除のブール結果。
removeQueues
クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナーのキューのリストからキューを削除します。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のremoveQueues
- パラメーター:
queues
- 削除するキュー。- 戻り値:
- ターゲット
queueNames
リストでの削除のブール結果。
findIdleConsumer
protected int findIdleConsumer()下方調整する場合は、キャンセル可能なコンシューマーを返します。AbstractMessageListenerContainer.consumersLock
でロックされているときに呼び出されます。- 戻り値:
- コンシューマーインデックス、またはアイドル状態でない場合は -1。
- 導入:
- 2.0.6
doInitialize
protected void doInitialize()クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナー内の呼び出し元を登録します。サブクラスは、特定の呼び出し元管理プロセスのためにこのメソッドを実装する必要があります。
- 次で指定:
- クラス
AbstractMessageListenerContainer
のdoInitialize
doStart
protected void doStart()クラスからコピーされた説明:AbstractMessageListenerContainer
このコンテナーを開始し、すべての呼び出し側タスクに通知します。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のdoStart
doStop
protected void doStop()クラスからコピーされた説明:AbstractMessageListenerContainer
このメソッドは、コンテナーが停止しているときに呼び出されます。- オーバーライド:
- クラス
AbstractMessageListenerContainer
のdoStop
actualStart
protected void actualStart()checkConnect
protected void checkConnect()doRedeclareElementsIfNecessary
protected void doRedeclareElementsIfNecessary()processMonitorTask
protected void processMonitorTask()サブクラスはこれをオーバーライドして、監視タスクの実行時に追加のアクションを実行できます。shutdownAndWaitOrCallback
- オーバーライド:
- クラス
AbstractMessageListenerContainer
のshutdownAndWaitOrCallback
consumerRemoved
コンシューマーが削除されるたびに呼び出されます。- パラメーター:
consumer
- コンシューマー。