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
    • 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:
      {}