クラス 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, Ngoc Nhan
フィールド概要
フィールド修飾子と型フィールド説明static final StringSEデフォルトの交換名。static final StringSEprotected final org.apache.commons.logging.Logサブクラスで利用可能なロガー。static final ObjectSEgetQueueProperties(String)によって返されるPropertiesSE のコンシューマーカウントのプロパティキー。static final ObjectSEgetQueueProperties(String)によって返されるPropertiesSE 内のメッセージカウントのプロパティキー。static final ObjectSEgetQueueProperties(String)によって返されるPropertiesSE 内のキュー名のプロパティキー。コンストラクター概要
コンストラクターコンストラクター説明RabbitAdmin(ConnectionFactory connectionFactory) 提供されたConnectionFactoryを使用してインスタンスを構築します。RabbitAdmin(RabbitTemplate rabbitTemplate) 提供されたRabbitTemplateを使用してインスタンスを構築します。方法の概要
修飾子と型メソッド説明voidautoStartupが true に設定されている場合は、ConnectionFactoryにコールバックを登録して、外側のアプリケーションコンテキストですべての交換とキューを宣言します。voiddeclareBinding(Binding binding) 交換へのキューのバインディングを宣言します。voiddeclareExchange(Exchange exchange) 交換を宣言します。@Nullable Queueサーバー名の排他的、自動削除、非永続キューを宣言します。@Nullable StringSEdeclareQueue(Queue queue) 指定されたキューを宣言します。booleandeleteExchange(StringSE exchangeName) 交換を削除します。booleandeleteQueue(StringSE queueName) 使用中かメッセージがあるかに関係なく、キューを削除します。voiddeleteQueue(StringSE queueName, boolean unused, boolean empty) キューを削除します。@Nullable DeclarationExceptionEvent手動で宣言された AMQP オブジェクトを返します。@Nullable QueueInformationgetQueueInfo(StringSE queueName) キューが存在する場合は、キューに関する情報を返します。@Nullable PropertiesSEgetQueueProperties(StringSE queueName) void含まれているアプリケーションコンテキスト内のすべての交換、キュー、バインディングを宣言します (存在する場合)。booleanboolean通常、接続が回復されると、管理者はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。intpurgeQueue(StringSE queueName) 指定されたキューの内容をパージします。voidpurgeQueue(StringSE queueName, boolean noWait) 指定されたキューの内容をパージします。voidremoveBinding(Binding binding) エクスチェンジへのキューのバインドを削除します。void管理者がdeclare*()メソッドの呼び出しによって作成された宣言を回復できないようにするには、このメソッドを呼び出します。voidsetApplicationContext(ApplicationContext applicationContext) voidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) voidsetAutoStartup(boolean autoStartup) voidsetBeanName(StringSE name) voidsetExplicitDeclarationsOnly(boolean explicitDeclarationsOnly) この管理者によって宣言されるように明示的に構成されているDeclarableBean のみを宣言するには、true に設定します。voidsetIgnoreDeclarationExceptions(boolean ignoreDeclarationExceptions) voidsetRedeclareManualDeclarations(boolean redeclareManualDeclarations) 通常、接続が回復されると、管理者はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。voidsetRetryTemplate(@Nullable RetryTemplate retryTemplate) 自動宣言の再試行テンプレートを設定します。voidsetTaskExecutor(TaskExecutor taskExecutor) 非同期操作に使用するタスクエグゼキュータを設定します。
フィールドの詳細
DEFAULT_EXCHANGE_NAME
デフォルトの交換名。- 関連事項:
QUEUE_NAME
getQueueProperties(String)によって返されるPropertiesSE 内のキュー名のプロパティキー。QUEUE_MESSAGE_COUNT
getQueueProperties(String)によって返されるPropertiesSE 内のメッセージカウントのプロパティキー。QUEUE_CONSUMER_COUNT
getQueueProperties(String)によって返されるPropertiesSE のコンシューマーカウントのプロパティキー。DELAYED_MESSAGE_EXCHANGE
- 関連事項:
logger
protected final org.apache.commons.logging.Log 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)") public @Nullable 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)") public @Nullable 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 @Nullable PropertiesSE getQueueProperties(StringSE queueName) - 次で指定:
- インターフェース
AmqpAdminのgetQueueProperties - パラメーター:
queueName- キューの名前。- 戻り値:
- プロパティ、またはキューが存在しない場合は null。
getQueueInfo
インターフェースからコピーされた説明:AmqpAdminキューが存在する場合は、キューに関する情報を返します。- 次で指定:
- インターフェース
AmqpAdminのgetQueueInfo - パラメーター:
queueName- キューの名前。- 戻り値:
- 情報、またはキューが存在しない場合は null。
setExplicitDeclarationsOnly
public void setExplicitDeclarationsOnly(boolean explicitDeclarationsOnly) この管理者によって宣言されるように明示的に構成されているDeclarableBean のみを宣言するには、true に設定します。- パラメーター:
explicitDeclarationsOnly- admin 宣言構成のない Bean を無視する場合は true。- 導入:
- 2.1.9
isRedeclareManualDeclarations
public boolean isRedeclareManualDeclarations()通常、接続が回復されると、管理機能はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。この場合、管理メソッドを通じて手動で宣言されたDeclarableも再宣言されます。- 戻り値:
- true を再宣言します。
- 導入:
- 2.4
setRedeclareManualDeclarations
public void setRedeclareManualDeclarations(boolean redeclareManualDeclarations) 通常、接続が回復されると、管理者はアプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。これが true の場合、管理メソッドを介して手動で宣言されたDeclarableも再宣言されます。キューまたはエクスチェンジが削除されると、回復されなくなり、対応するバインディングも回復されなくなります。- パラメーター:
redeclareManualDeclarations- true を再宣言します。- 導入:
- 2.4
- 関連事項:
setRetryTemplate
自動宣言の再試行テンプレートを設定します。自動削除の排他キューでは競合状態が発生し、キューが短時間存在し続ける可能性があるため、再宣言が妨げられます。デフォルトの再試行設定では、指数関数的な backOff を 1 秒から開始し、2.0 の乗数で最大 5 秒間隔で 5 回再試行します。再試行を無効にするには、引数をnullに設定します。この再試行はマクロレベルで行われることに注意してください。つまり、このテンプレートのスコープ内のすべての宣言が再試行されます。RetryTemplateが設定されているRabbitTemplateを指定した場合、そのテンプレートは個々の宣言を再試行します。- パラメーター:
retryTemplate- 再試行テンプレート。- 導入:
- 4.0
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
- 関連事項:
getManualDeclarableSet
インターフェースからコピーされた説明:AmqpAdmin手動で宣言された AMQP オブジェクトを返します。- 次で指定:
- インターフェース
AmqpAdminのgetManualDeclarableSet - 戻り値:
- 手動で宣言された AMQP オブジェクト。