クラス RabbitAdmin
java.lang.ObjectSE
org.springframework.amqp.rabbit.core.RabbitAdmin
- 実装されたすべてのインターフェース:
AmqpAdmin
、Aware
、BeanNameAware
、InitializingBean
、ApplicationContextAware
、ApplicationEventPublisherAware
@ManagedResource(description="Admin Tasks")
public class RabbitAdmin
extends ObjectSE
implements AmqpAdmin, ApplicationContextAware, ApplicationEventPublisherAware, BeanNameAware, InitializingBean
AMQP >= 0.9.1 のポータブル AMQP 管理操作の RabbitMQ 実装。
- 作成者:
- Mark Pollack, Mark Fisher, Dave Syer, Ed Scriven, Gary Russell, Artem Bilan, Christian Tzolov
フィールドサマリー
フィールド修飾子と型フィールド説明static final StringSE
デフォルトの交換名。protected final Log
サブクラスで利用可能なロガー。static final ObjectSE
getQueueProperties(String)
によって返されるProperties
SE のコンシューマーカウントのプロパティキー。static final ObjectSE
getQueueProperties(String)
によって返されるProperties
SE 内のメッセージカウントのプロパティキー。static final ObjectSE
getQueueProperties(String)
によって返されるProperties
SE 内のキュー名のプロパティキー。コンストラクターのサマリー
コンストラクターコンストラクター説明RabbitAdmin
(ConnectionFactory connectionFactory) 提供されたConnectionFactory
を使用してインスタンスを構築します。RabbitAdmin
(RabbitTemplate rabbitTemplate) 提供されたRabbitTemplate
を使用してインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明void
autoStartup
が true に設定されている場合は、ConnectionFactory
にコールバックを登録して、外側のアプリケーションコンテキストですべての交換とキューを宣言します。void
declareBinding
(Binding binding) 交換へのキューのバインディングを宣言します。void
declareExchange
(Exchange exchange) 交換を宣言します。サーバー名の排他的、自動削除、非永続キューを宣言します。declareQueue
(Queue queue) 指定されたキューを宣言します。boolean
deleteExchange
(StringSE exchangeName) 交換を削除します。boolean
deleteQueue
(StringSE queueName) 使用中かメッセージがあるかに関係なく、キューを削除します。void
deleteQueue
(StringSE queueName, boolean unused, boolean empty) キューを削除します。使用すべきではありません。手動で宣言された AMQP オブジェクトを返します。getQueueInfo
(StringSE queueName) キューが存在する場合は、キューに関する情報を返します。getQueueProperties
(StringSE queueName) void
含まれているアプリケーションコンテキスト内のすべての交換、キュー、バインディングを宣言します (存在する場合)。boolean
boolean
通常、接続が回復されると、管理者は、アプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。int
purgeQueue
(StringSE queueName) 指定されたキューの内容をパージします。void
purgeQueue
(StringSE queueName, boolean noWait) 指定されたキューの内容をパージします。void
removeBinding
(Binding binding) エクスチェンジへのキューのバインドを削除します。void
管理者がdeclare*()
メソッドの呼び出しによって作成された宣言を回復できないようにするには、このメソッドを呼び出します。void
setApplicationContext
(ApplicationContext applicationContext) void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) void
setAutoStartup
(boolean autoStartup) void
setBeanName
(StringSE name) void
setExplicitDeclarationsOnly
(boolean explicitDeclarationsOnly) この管理者によって宣言されるように明示的に構成されているDeclarable
Bean のみを宣言するには、true に設定します。void
setIgnoreDeclarationExceptions
(boolean ignoreDeclarationExceptions) void
setRedeclareManualDeclarations
(boolean redeclareManualDeclarations) 通常、接続が回復されると、管理者はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。void
setRetryTemplate
(org.springframework.retry.support.RetryTemplate retryTemplate) 自動宣言の再試行テンプレートを設定します。void
setTaskExecutor
(TaskExecutor taskExecutor) 非同期操作に使用するタスクエグゼキュータを設定します。
フィールドの詳細
DEFAULT_EXCHANGE_NAME
デフォルトの交換名。- 関連事項:
QUEUE_NAME
getQueueProperties(String)
によって返されるProperties
SE 内のキュー名のプロパティキー。QUEUE_MESSAGE_COUNT
getQueueProperties(String)
によって返されるProperties
SE 内のメッセージカウントのプロパティキー。QUEUE_CONSUMER_COUNT
getQueueProperties(String)
によって返されるProperties
SE のコンシューマーカウントのプロパティキー。logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
RabbitAdmin
提供されたConnectionFactory
を使用してインスタンスを構築します。- パラメーター:
connectionFactory
- 接続ファクトリ - null であってはなりません。
RabbitAdmin
提供されたRabbitTemplate
を使用してインスタンスを構築します。このコンストラクターは、たとえば、提供されたテンプレートのinvoke()
メソッドのスコープ内で管理操作を実行する場合に使用します。- パラメーター:
rabbitTemplate
- テンプレート - null であってはならず、接続ファクトリが必要です。- 導入:
- 2.0
メソッドの詳細
setAutoStartup
public void setAutoStartup(boolean autoStartup) setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
setApplicationEventPublisher
- 次で指定:
- インターフェース
ApplicationEventPublisherAware
のsetApplicationEventPublisher
setIgnoreDeclarationExceptions
public void setIgnoreDeclarationExceptions(boolean ignoreDeclarationExceptions) getLastDeclarationExceptionEvent
- 戻り値:
- この管理者で検出された最後の
DeclarationExceptionEvent
。 - 導入:
- 1.6
setTaskExecutor
非同期操作に使用するタスクエグゼキュータを設定します。現在、purgeQueue(String, boolean)
でのみ使用されています。- パラメーター:
taskExecutor
- 使用するエグゼキュータ。- 導入:
- 2.1
getRabbitTemplate
declareExchange
インターフェースからコピーされた説明:AmqpAdmin
交換を宣言します。- 次で指定:
- インターフェース
AmqpAdmin
のdeclareExchange
- パラメーター:
exchange
- 宣言する交換。
deleteExchange
@ManagedOperation(description="Delete an exchange from the broker") public boolean deleteExchange(StringSE exchangeName) インターフェースからコピーされた説明:AmqpAdmin
交換を削除します。実装固有の動作については、実装固有のサブクラスを参照してください。たとえば、RabbitMQ の場合、使用中かどうかに関係なく交換が削除されます。- 次で指定:
- インターフェース
AmqpAdmin
のdeleteExchange
- パラメーター:
exchangeName
- 取引所の名前- 戻り値:
- 交換が存在し、削除された場合は true
declareQueue
@ManagedOperation(description="Declare a queue on the broker (this operation is not available remotely)") @Nullable public StringSE declareQueue(Queue queue) 指定されたキューを宣言します。キューに 'name' プロパティの値がない場合、キュー名はブローカーによって生成され、このメソッドから返されます。キューの declaredName プロパティは、この値を反映するように更新されます。- 次で指定:
- インターフェース
AmqpAdmin
のdeclareQueue
- パラメーター:
queue
- 待ち行列- 戻り値:
- 成功した場合はキュー名、成功しなかった場合は null、
ignoreDeclarationExceptions
は true です。
declareQueue
@ManagedOperation(description="Declare a queue with a broker-generated name (this operation is not available remotely)") @Nullable public Queue declareQueue()サーバー名の排他的、自動削除、非永続キューを宣言します。- 次で指定:
- インターフェース
AmqpAdmin
のdeclareQueue
- 戻り値:
- キュー、または例外が発生し、
ignoreDeclarationExceptions
が true の場合は null。
deleteQueue
@ManagedOperation(description="Delete a queue from the broker") public boolean deleteQueue(StringSE queueName) インターフェースからコピーされた説明:AmqpAdmin
使用中かメッセージがあるかに関係なく、キューを削除します。- 次で指定:
- インターフェース
AmqpAdmin
のdeleteQueue
- パラメーター:
queueName
- キューの名前。- 戻り値:
- キューが存在し、削除された場合は true。
deleteQueue
@ManagedOperation(description="Delete a queue from the broker if unused and empty (when corresponding arguments are true") public void deleteQueue(StringSE queueName, boolean unused, boolean empty) インターフェースからコピーされた説明:AmqpAdmin
キューを削除します。- 次で指定:
- インターフェース
AmqpAdmin
のdeleteQueue
- パラメーター:
queueName
- キューの名前。unused
- 使用されていない場合にのみキューを削除する必要がある場合は true。empty
- 空の場合にのみキューを削除する場合は true。
purgeQueue
@ManagedOperation(description="Purge a queue and optionally don\'t wait for the purge to occur") public void purgeQueue(StringSE queueName, boolean noWait) インターフェースからコピーされた説明:AmqpAdmin
指定されたキューの内容をパージします。- 次で指定:
- インターフェース
AmqpAdmin
のpurgeQueue
- パラメーター:
queueName
- キューの名前。noWait
- パージの補完を待たない場合は true。
purgeQueue
@ManagedOperation(description="Purge a queue and return the number of messages purged") public int purgeQueue(StringSE queueName) インターフェースからコピーされた説明:AmqpAdmin
指定されたキューの内容をパージします。- 次で指定:
- インターフェース
AmqpAdmin
のpurgeQueue
- パラメーター:
queueName
- キューの名前。- 戻り値:
- パージされたメッセージの数。
declareBinding
@ManagedOperation(description="Declare a binding on the broker (this operation is not available remotely)") public void declareBinding(Binding binding) インターフェースからコピーされた説明:AmqpAdmin
交換へのキューのバインディングを宣言します。- 次で指定:
- インターフェース
AmqpAdmin
のdeclareBinding
- パラメーター:
binding
- 宣言するバインディングの説明。
removeBinding
@ManagedOperation(description="Remove a binding from the broker (this operation is not available remotely)") public void removeBinding(Binding binding) インターフェースからコピーされた説明:AmqpAdmin
キューの交換へのバインディングを削除します。unbindQueue/removeBinding は仕様の 0.9 まで導入されなかったことに注意してください。- 次で指定:
- インターフェース
AmqpAdmin
のremoveBinding
- パラメーター:
binding
- 削除するバインディングの説明。
getQueueProperties
@ManagedOperation(description="Get queue name, message count and consumer count") public PropertiesSE getQueueProperties(StringSE queueName) - 次で指定:
- インターフェース
AmqpAdmin
のgetQueueProperties
- パラメーター:
queueName
- キューの名前。- 戻り値:
- プロパティ、またはキューが存在しない場合は null。
getQueueInfo
インターフェースからコピーされた説明:AmqpAdmin
キューが存在する場合は、キューに関する情報を返します。- 次で指定:
- インターフェース
AmqpAdmin
のgetQueueInfo
- パラメーター:
queueName
- キューの名前。- 戻り値:
- 情報、またはキューが存在しない場合は null。
setExplicitDeclarationsOnly
public void setExplicitDeclarationsOnly(boolean explicitDeclarationsOnly) この管理者によって宣言されるように明示的に構成されているDeclarable
Bean のみを宣言するには、true に設定します。- パラメーター:
explicitDeclarationsOnly
- admin 宣言構成のない Bean を無視する場合は true。- 導入:
- 2.1.9
isRedeclareManualDeclarations
public boolean isRedeclareManualDeclarations()通常、接続が回復されると、管理者は、アプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。これが true の場合、管理メソッドを介して手動で宣言されたDeclarable
も再宣言されます。- 戻り値:
- true を再宣言します。
- 導入:
- 2.4
setRedeclareManualDeclarations
public void setRedeclareManualDeclarations(boolean redeclareManualDeclarations) 通常、接続が回復されると、管理者はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。これが true の場合、管理メソッドを介して手動で宣言されたDeclarable
も再宣言されます。キューまたはエクスチェンジが削除されると、回復されなくなり、対応するバインディングも回復されなくなります。- パラメーター:
redeclareManualDeclarations
- true を再宣言します。- 導入:
- 2.4
- 関連事項:
setRetryTemplate
public void setRetryTemplate(@Nullable org.springframework.retry.support.RetryTemplate retryTemplate) 自動宣言の再試行テンプレートを設定します。自動削除の排他キューでは競合状態が発生し、キューが短時間存在し続ける可能性があるため、再宣言が妨げられます。デフォルトの再試行構成では、1 秒から始まる指数 backOff、2.0 の乗数、最大間隔 5 秒で 5 回試行します。再試行を無効にするには、引数をnull
に設定します。この再試行はマクロレベルで行われることに注意してください。すべての宣言は、このテンプレートのスコープ内で再試行されます。RetryTemplate
で構成されたRabbitTemplate
を指定した場合、そのテンプレートは個々の宣言を再試行します。- パラメーター:
retryTemplate
- 再試行テンプレート。- 導入:
- 1.7.8
setBeanName
- 次で指定:
- インターフェース
BeanNameAware
のsetBeanName
getBeanName
isAutoStartup
public boolean isAutoStartup()afterPropertiesSet
public void afterPropertiesSet()autoStartup
が true に設定されている場合は、ConnectionFactory
にコールバックを登録して、外側のアプリケーションコンテキストですべての交換とキューを宣言します。コールバックが失敗すると、接続ファクトリの他のクライアントが失敗する可能性がありますが、交換、キュー、バインディングのみが宣言されているため、失敗は予想されません。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 関連事項:
initialize
public void initialize()含まれているアプリケーションコンテキスト内のすべての交換、キュー、バインディングを宣言します (存在する場合)。このメソッドを複数回呼び出しても安全です (ただし不要です)。- 次で指定:
- インターフェース
AmqpAdmin
のinitialize
resetAllManualDeclarations
public void resetAllManualDeclarations()管理者がdeclare*()
メソッドの呼び出しによって作成された宣言を回復できないようにするには、このメソッドを呼び出します。- 導入:
- 2.4
- 関連事項:
getManualDeclarables
使用すべきではありません。インターフェースからコピーされた説明:AmqpAdmin
手動で宣言された AMQP オブジェクトを返します。- 次で指定:
- インターフェース
AmqpAdmin
のgetManualDeclarables
- 戻り値:
- 手動で宣言された AMQP オブジェクト。
getManualDeclarableSet
インターフェースからコピーされた説明:AmqpAdmin
手動で宣言された AMQP オブジェクトを返します。- 次で指定:
- インターフェース
AmqpAdmin
のgetManualDeclarableSet
- 戻り値:
- 手動で宣言された AMQP オブジェクト。