Annotation Type Outgoing
-
@Target(METHOD) @Retention(RUNTIME) public @interface Outgoing
Used to signify a publisher of outgoing messages.Methods annotated with this annotation must have one of the following shapes:
- Take zero parameters, and return a
PublisherBuilder
, or aPublisher
. - Take zero parameters, and return a
ProcessorBuilder
or aProcessor
. - Accept a single parameter, and return a
CompletionStage
. - Accept a single parameter, and return any type.
In addition, implementations of this specification may allow returning additional types, such as implementation specific types for representing Reactive Streams, however taking advantage of these features provided by implementations will result in a non portable application.
The method shapes that return a processor, or accept a single parameter, must also have an
Incoming
annotation, methods that do not have this will cause a definition exception to be raised by the container during initialization.The type of the message emitted by the publisher may be wrapped in
Message
, or a subclass of it. All messaging providers must supportMessage
, but messaging providers may also provide subclasses ofMessage
in order to expose message transport specific features. Use of these sub classes will result in a non portable application. If the chosen messaging provider does not support the selected message wrapper, a deployment exception will be raised before the container is initialized.If the outing message is wrapped in a
Message
wrapper, then it is the responsibility of the container to acknowledge messages, by invoking theMessage.ack()
method on each message it receives. Containers must be careful to invoke these messages in order, one at a time, unless configured not to through a container specific mechanism. Containers may provide the ability to configure batching of acks, or only acking one in every n messages. - Take zero parameters, and return a
-
-
Element Detail
-
value
String value
The name of the channel to publish to.- Returns:
- the name of the channel, must not be blank.
-
-