@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
@Executable(processOnStartup=true)
@MessageMapping
public @interface Queue
Queue
to a method for receiving or sending a Message
.
Usage:
@JMSListener("myConnectionFactory") public class Listener { @Queue( destination = "my-queue", executor = "micronaut-executor-service" ) public <T> void handle(T body, @Header(JMSHeaders.JMS_MESSAGE_ID) String messageID) { // do some logic with body and messageID } @Queue( destination = "my-queue-2", concurrency = "1-5", transacted = true, acknowledgeMode = Session.CLIENT_ACKNOWLEDGE ) public <T> void handle(T body, @Header("X-Arbitrary-Header") String arbitraryHeader) { // do some logic with body and arbitraryHeader } }
Modifier and Type | Required Element and Description |
---|---|
java.lang.String |
value
The name of the queue to target.
|
Modifier and Type | Optional Element and Description |
---|---|
int |
acknowledgeMode |
java.lang.String |
concurrency
The size of the thread pool to use when used in conjunction with
JMSListener . |
java.lang.String |
executor
The name of an
ExecutorService in the bean
context to execute tasks on when receiving a Message
as part of a JMSListener . |
java.lang.String |
serializer
The name of a
Serializer in the bean
context to use to serialize an object into a Message
when sending. |
boolean |
transacted
Whether message receipt is transacted.
|
@AliasFor(annotation=io.micronaut.messaging.annotation.MessageMapping.class, member="value") public abstract java.lang.String value
public abstract java.lang.String concurrency
JMSListener
. The value must be of the form x-y where x is the
initial size of the thread pool and y is the maximum size. If this
option is specified, a new thread pool will be created and destroyed
with the JMSListenerContainer
. This
option cannot be used in conjunction with executor()
; if
both are specified the executor()
value will be used.public abstract java.lang.String serializer
Serializer
in the bean
context to use to serialize an object into a Message
when sending. If not specified, defaults to
DefaultSerializerDeserializer
.public abstract java.lang.String executor
ExecutorService
in the bean
context to execute tasks on when receiving a Message
as part of a JMSListener
. The executor can be maintained by
Micronaut using the io.micronaut.scheduling.executor.UserExecutorConfiguration
.public abstract int acknowledgeMode
JMSListenerContainer
.Session