Class RabbitAmqpAdmin

java.lang.Object
org.springframework.amqp.rabbitmq.client.RabbitAmqpAdmin
All Implemented Interfaces:
org.springframework.amqp.core.AmqpAdmin, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle

@ManagedResource(description="Admin Tasks") public class RabbitAmqpAdmin extends Object implements org.springframework.amqp.core.AmqpAdmin, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.SmartLifecycle
The AmqpAdmin implementation for RabbitMQ AMQP 1.0 client.
Since:
4.0
  • Field Details

  • Constructor Details

  • Method Details

    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
    • setApplicationEventPublisher

      public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
      Specified by:
      setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAware
    • setBeanName

      public void setBeanName(String name)
      Specified by:
      setBeanName in interface org.springframework.beans.factory.BeanNameAware
    • setIgnoreDeclarationExceptions

      public void setIgnoreDeclarationExceptions(boolean ignoreDeclarationExceptions)
    • setTaskExecutor

      public void setTaskExecutor(org.springframework.core.task.TaskExecutor taskExecutor)
      Set a task executor to use for async operations. Currently only used with purgeQueue(String, boolean).
      Parameters:
      taskExecutor - the executor to use.
    • setExplicitDeclarationsOnly

      public void setExplicitDeclarationsOnly(boolean explicitDeclarationsOnly)
      Set to true to only declare Declarable beans that are explicitly configured to be declared by this admin.
      Parameters:
      explicitDeclarationsOnly - true to ignore beans with no admin declaration configuration.
    • getLastDeclarationExceptionEvent

      public @Nullable org.springframework.amqp.rabbit.core.DeclarationExceptionEvent getLastDeclarationExceptionEvent()
      Returns:
      the last DeclarationExceptionEvent that was detected in this admin.
    • isAutoStartup

      public boolean isAutoStartup()
      Specified by:
      isAutoStartup in interface org.springframework.context.SmartLifecycle
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface org.springframework.context.Phased
      Specified by:
      getPhase in interface org.springframework.context.SmartLifecycle
    • start

      public void start()
      Specified by:
      start in interface org.springframework.context.Lifecycle
    • stop

      public void stop()
      Specified by:
      stop in interface org.springframework.context.Lifecycle
    • isRunning

      public boolean isRunning()
      Specified by:
      isRunning in interface org.springframework.context.Lifecycle
    • initialize

      public void initialize()
      Declares all the exchanges, queues and bindings in the enclosing application context, if any. It should be safe (but unnecessary) to call this method more than once.
      Specified by:
      initialize in interface org.springframework.amqp.core.AmqpAdmin
    • declareExchange

      public void declareExchange(org.springframework.amqp.core.Exchange exchange)
      Specified by:
      declareExchange in interface org.springframework.amqp.core.AmqpAdmin
    • deleteExchange

      @ManagedOperation(description="Delete an exchange from the broker") public boolean deleteExchange(String exchangeName)
      Specified by:
      deleteExchange in interface org.springframework.amqp.core.AmqpAdmin
    • declareQueue

      public @Nullable org.springframework.amqp.core.Queue declareQueue()
      Specified by:
      declareQueue in interface org.springframework.amqp.core.AmqpAdmin
    • declareQueue

      public @Nullable String declareQueue(org.springframework.amqp.core.Queue queue)
      Specified by:
      declareQueue in interface org.springframework.amqp.core.AmqpAdmin
    • deleteQueue

      @ManagedOperation(description="Delete a queue from the broker") public boolean deleteQueue(String queueName)
      Specified by:
      deleteQueue in interface org.springframework.amqp.core.AmqpAdmin
    • deleteQueue

      @ManagedOperation(description="Delete a queue from the broker if unused and empty (when corresponding arguments are true") public void deleteQueue(String queueName, boolean unused, boolean empty)
      Specified by:
      deleteQueue in interface org.springframework.amqp.core.AmqpAdmin
    • purgeQueue

      @ManagedOperation(description="Purge a queue and optionally don't wait for the purge to occur") public void purgeQueue(String queueName, boolean noWait)
      Specified by:
      purgeQueue in interface org.springframework.amqp.core.AmqpAdmin
    • purgeQueue

      @ManagedOperation(description="Purge a queue and return the number of messages purged") public int purgeQueue(String queueName)
      Specified by:
      purgeQueue in interface org.springframework.amqp.core.AmqpAdmin
    • declareBinding

      public void declareBinding(org.springframework.amqp.core.Binding binding)
      Specified by:
      declareBinding in interface org.springframework.amqp.core.AmqpAdmin
    • removeBinding

      public void removeBinding(org.springframework.amqp.core.Binding binding)
      Specified by:
      removeBinding in interface org.springframework.amqp.core.AmqpAdmin
    • getQueueProperties

      @ManagedOperation(description="Get queue name, message count and consumer count") public @Nullable Properties getQueueProperties(String queueName)
      Returns 4 properties RabbitAdmin.QUEUE_NAME, RabbitAdmin.QUEUE_MESSAGE_COUNT, RabbitAdmin.QUEUE_CONSUMER_COUNT, QUEUE_TYPE, or null if the queue doesn't exist.
      Specified by:
      getQueueProperties in interface org.springframework.amqp.core.AmqpAdmin
    • getQueueInfo

      public @Nullable org.springframework.amqp.core.QueueInformation getQueueInfo(String queueName)
      Specified by:
      getQueueInfo in interface org.springframework.amqp.core.AmqpAdmin