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