Annotation Interface Topic


@Documented @Retention(RUNTIME) @Target(METHOD) @Executable(processOnStartup=true) @MessageMapping public @interface Topic
Annotation to bind a Topic to a method for receiving or sending a Message.

Usage:

 @JMSListener("myConnectionFactory")
 public class Listener {
      @Topic("my-topic")
      public <T> void handle(@Body T body, @Header(JMSHeaders.JMS_MESSAGE_ID) String messageID) {
          // do some logic with body and messageID
      }

      @Topic("my-topic-2")
      public <T> void handle(@Body T body, @Header("X-Arbitrary-Header") String arbitraryHeader) {
          // do some logic with body and arbitraryHeader
      }
 }
 
Since:
1.0.0
Author:
Elliott Pope
  • Element Details

    • value

      @AliasFor(annotation=io.micronaut.messaging.annotation.MessageMapping.class, member="value") String value
      The name of the topic to target.
      Returns:
      the name
    • executor

      Deprecated.
      since 3.0.0, to align the implementation with the JMS model and the messaging libraries' presumptions.
      The name of an 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 UserExecutorConfiguration.
      Returns:
      the executor service name
      Default:
      ""
    • serializer

      String serializer
      The name of a Serializer in the bean context to use to serialize an object into a Message when sending. If not specified, defaults to DefaultSerializerDeserializer.
      Returns:
      the serializer bean name
      Default:
      ""
    • acknowledgeMode

      int acknowledgeMode
      Returns:
      the acknowledge mode for the JMSListener.
      See Also:
      • Session
      Default:
      1
    • transacted

      boolean transacted
      Whether message receipt is transacted. The broker must support transacted sessions.
      Returns:
      true if transacted
      See Also:
      • Session
      Default:
      false
    • messageSelector

      String messageSelector
      Returns:
      the message selector for the topic
      Default:
      ""
    • successHandlers

      Class<? extends JMSListenerSuccessHandler>[] successHandlers
      The success handlers to be injected into the message handling logic.
      Returns:
      the classes of the success handlers to be added. These handlers must be present as Singleton instances.
      Since:
      3.0.0
      Default:
      {}
    • errorHandlers

      Class<? extends JMSListenerErrorHandler>[] errorHandlers
      The error handlers to be injected into the message handling logic.
      Returns:
      the classes of the error handlers to be added. These handlers must be present as Singleton instances.
      Since:
      3.0.0
      Default:
      {}