@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