Annotation Interface MessageStream


@Retention(RUNTIME) @Target(METHOD) public @interface MessageStream
Annotation used for marking methods to indicate that they process or interact with a specific type of message stream. This type is defined by the `value` attribute which specifies the class representing the type of messages handled by the annotated method.

This annotation is used to wire message producers, who are implemented as Spring Beans by a RegionConnector, and the consumers, who are implemented by a OutboundConnector.
The annotated method must be implemented by a class that is available as a Spring Bean.
This allows EDDIE to dynamically discover and connect message producers and consumers. The wiring process essentially passes a producer of a stream to all consumers of the same type.

The annotation should only be applied to methods with the following signature, where the message type is the same as the class passed to the value() attribute.

 
 void accept(Flux<MessageType> messages){ ... }
 Flux<MessageType> get(){ ... }
 
 
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    Specifies the class representing the type of messages associated with the annotated method.
  • Element Details

    • value

      Class<?> value
      Specifies the class representing the type of messages associated with the annotated method.
      Returns:
      the class type associated with the annotated method