クラス 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
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static StringSE
DEFAULT_EXCHANGE_NAME
デフォルトの交換名。protected Log
logger
サブクラスで利用可能なロガー。static ObjectSE
QUEUE_CONSUMER_COUNT
getQueueProperties(String)
によって返されるProperties
SE のコンシューマーカウントのプロパティキー。static ObjectSE
QUEUE_MESSAGE_COUNT
getQueueProperties(String)
によって返されるProperties
SE 内のメッセージカウントのプロパティキー。static ObjectSE
QUEUE_NAME
getQueueProperties(String)
によって返されるProperties
SE 内のキュー名のプロパティキー。
コンストラクターのサマリー
コンストラクター コンストラクター 説明 RabbitAdmin(ConnectionFactory connectionFactory)
提供されたConnectionFactory
を使用してインスタンスを構築します。RabbitAdmin(RabbitTemplate rabbitTemplate)
提供されたRabbitTemplate
を使用してインスタンスを構築します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 具象メソッド 修飾子と型 メソッド 説明 void
afterPropertiesSet()
autoStartup
が true に設定されている場合は、ConnectionFactory
にコールバックを登録して、外側のアプリケーションコンテキストですべての交換とキューを宣言します。void
declareBinding(Binding binding)
交換へのキューのバインディングを宣言します。void
declareExchange(Exchange exchange)
交換を宣言します。Queue
declareQueue()
サーバー名の排他的、自動削除、非永続キューを宣言します。StringSE
declareQueue(Queue queue)
指定されたキューを宣言します。boolean
deleteExchange(StringSE exchangeName)
交換を削除します。boolean
deleteQueue(StringSE queueName)
使用中かメッセージがあるかに関係なく、キューを削除します。void
deleteQueue(StringSE queueName, boolean unused, boolean empty)
キューを削除します。StringSE
getBeanName()
DeclarationExceptionEvent
getLastDeclarationExceptionEvent()
QueueInformation
getQueueInfo(StringSE queueName)
キューが存在する場合は、キューに関する情報を返します。PropertiesSE
getQueueProperties(StringSE queueName)
RabbitTemplate
getRabbitTemplate()
void
initialize()
含まれているアプリケーションコンテキスト内のすべての交換、キュー、バインディングを宣言します (存在する場合)。boolean
isAutoStartup()
boolean
isRedeclareManualDeclarations()
通常、接続が回復されると、管理者は、アプリケーションコンテキストで Bean として宣言されている自動削除キューなどのみを回復します。int
purgeQueue(StringSE queueName)
指定されたキューの内容をパージします。void
purgeQueue(StringSE queueName, boolean noWait)
指定されたキューの内容をパージします。void
removeBinding(Binding binding)
エクスチェンジへのキューのバインドを削除します。void
resetAllManualDeclarations()
管理者が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)
非同期操作に使用するタスクエグゼキュータを設定します。
フィールドの詳細
QUEUE_NAME
public static final ObjectSE QUEUE_NAME
getQueueProperties(String)
によって返されるProperties
SE 内のキュー名のプロパティキー。
QUEUE_MESSAGE_COUNT
public static final ObjectSE QUEUE_MESSAGE_COUNT
getQueueProperties(String)
によって返されるProperties
SE 内のメッセージカウントのプロパティキー。
QUEUE_CONSUMER_COUNT
public static final ObjectSE QUEUE_CONSUMER_COUNT
getQueueProperties(String)
によって返されるProperties
SE のコンシューマーカウントのプロパティキー。
logger
protected final Log logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
RabbitAdmin
public RabbitAdmin(ConnectionFactory connectionFactory)
提供されたConnectionFactory
を使用してインスタンスを構築します。- パラメーター:
connectionFactory
- 接続ファクトリ - null であってはなりません。
RabbitAdmin
public RabbitAdmin(RabbitTemplate rabbitTemplate)
提供されたRabbitTemplate
を使用してインスタンスを構築します。このコンストラクターは、たとえば、提供されたテンプレートのinvoke()
メソッドのスコープ内で管理操作を実行する場合に使用します。- パラメーター:
rabbitTemplate
- テンプレート - null であってはならず、接続ファクトリが必要です。- 導入:
- 2.0
メソッドの詳細
setAutoStartup
public void setAutoStartup(boolean autoStartup)
setApplicationContext
public void setApplicationContext(ApplicationContext applicationContext)
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
setApplicationEventPublisher
public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
- 次で指定:
- インターフェース
ApplicationEventPublisherAware
のsetApplicationEventPublisher
setIgnoreDeclarationExceptions
public void setIgnoreDeclarationExceptions(boolean ignoreDeclarationExceptions)
getLastDeclarationExceptionEvent
public DeclarationExceptionEvent getLastDeclarationExceptionEvent()
- 戻り値:
- この管理者で検出された最後の
DeclarationExceptionEvent
。 - 導入:
- 1.6
setTaskExecutor
public void setTaskExecutor(TaskExecutor taskExecutor)
非同期操作に使用するタスクエグゼキュータを設定します。現在、purgeQueue(String, boolean)
でのみ使用されています。- パラメーター:
taskExecutor
- 使用するエグゼキュータ。- 導入:
- 2.1
getRabbitTemplate
public RabbitTemplate getRabbitTemplate()
declareExchange
public void declareExchange(Exchange exchange)
インターフェースからコピーされた説明: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' プロパティの値がない場合、キュー名は Broker によって生成され、このメソッドから返されます。キューの definedName プロパティは、この値を反映するように更新されます。- 次で指定:
- インターフェース
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
public QueueInformation getQueueInfo(StringSE queueName)
インターフェースからコピーされた説明: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
- 関連事項:
declareQueue(Queue)
,declareExchange(Exchange)
,declareBinding(Binding)
,deleteQueue(String)
,deleteExchange(String)
,removeBinding(Binding)
,resetAllManualDeclarations()
setRetryTemplate
public void setRetryTemplate(@Nullable org.springframework.retry.support.RetryTemplate retryTemplate)
自動宣言の再試行テンプレートを設定します。自動削除の排他的キューには競合状態があり、キューが短時間存在し、再宣言が妨げられる可能性があります。デフォルトの再試行構成では、1 秒から始まる指数バックオフで 5 回試行され、乗数は 2.0 で、最大間隔は 5 秒です。再試行を無効にするには、引数をnull
に設定します。この再試行はマクロレベルであることに注意してください。すべての宣言は、このテンプレートのスコープ内で再試行されます。RetryTemplate
で構成されたRabbitTemplate
を指定した場合、そのテンプレートは個々の宣言を再試行します。- パラメーター:
retryTemplate
- 再試行テンプレート。- 導入:
- 1.7.8
setBeanName
public void setBeanName(StringSE name)
- 次で指定:
- インターフェース
BeanNameAware
のsetBeanName
getBeanName
public StringSE getBeanName()
isAutoStartup
public boolean isAutoStartup()
afterPropertiesSet
public void afterPropertiesSet()
autoStartup
が true に設定されている場合は、ConnectionFactory
にコールバックを登録して、外側のアプリケーションコンテキストですべての交換とキューを宣言します。コールバックが失敗すると、接続ファクトリの他のクライアントが失敗する可能性がありますが、交換、キュー、バインディングのみが宣言されているため、失敗は予想されません。- 次で指定:
- インターフェース
InitializingBean
のafterPropertiesSet
- 関連事項:
InitializingBean.afterPropertiesSet()
,initialize()
initialize
public void initialize()
含まれているアプリケーションコンテキスト内のすべての交換、キュー、バインディングを宣言します (存在する場合)。このメソッドを複数回呼び出しても安全です (ただし不要です)。- 次で指定:
- インターフェース
AmqpAdmin
のinitialize
resetAllManualDeclarations
public void resetAllManualDeclarations()
管理者がdeclare*()
メソッドの呼び出しによって作成された宣言を回復できないようにするには、このメソッドを呼び出します。- 導入:
- 2.4
- 関連事項:
setRedeclareManualDeclarations(boolean)