Annotation Interface AceQueue


@Target({}) @Retention(RUNTIME) @Documented public @interface AceQueue
How an AceListener declares the queue it consumes, through AceListener.declare().

 @AceListener(queue = "orders.new", declare = @AceQueue)
 @AceListener(queue = "audit", declare = @AceQueue(type = Kind.CLASSIC, arguments = "x-message-ttl=60000"))
 

The options are the ones an entry under acemq.topology.queues has, with the same names and the same defaults, and the queue is declared through the same topology: a durable quorum queue unless type says classic, arguments for classic queues only, and deadLetter adding the .dlq and .parked queues and the exchange that reaches them. A queue declared both here and under acemq.topology.queues must be declared the same way in both, or the startup fails naming the difference.

  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    Broker arguments as name=value, as acemq.topology.queues[].arguments, and for classic queues only.
    boolean
    Dead-letter what the broker rejects, as acemq.topology.queues[].dead-letter.
    quorum or classic, as acemq.topology.queues[].type.
  • Element Details

    • type

      quorum or classic, as acemq.topology.queues[].type.
      Returns:
      queue type
      Default:
      QUORUM
    • arguments

      String[] arguments
      Broker arguments as name=value, as acemq.topology.queues[].arguments, and for classic queues only. A value that is a whole number is sent as a number and true/false as a boolean, which is what the broker expects of x-message-ttl, x-max-length and the rest; anything else is a string. Property placeholders are resolved.
      Returns:
      arguments
      Default:
      {}
    • deadLetter

      boolean deadLetter
      Dead-letter what the broker rejects, as acemq.topology.queues[].dead-letter.
      Returns:
      whether to declare the dead-letter queues too
      Default:
      false