T - type of payloadpublic interface Emitter<T>
Instances are injected using:
@Inject
@Channel("my-channel")
Emitter<String> emitter;
You can use an injected emitter to send either payloads or Messages.
The name of the channel (given in the Channel annotation) indicates which channel is fed. It must
match the name used in a method using @Incoming or an
outgoing channel configured in the application configuration.
The OnOverflow annotation can be used to configure what to do if messages are sent using the
`Emitter` when a downstream subscriber hasn't requested more messages.
| Modifier and Type | Method and Description |
|---|---|
void |
complete()
Sends the completion event to the channel indicating that no other events will be sent afterward.
|
void |
error(Exception e)
Sends a failure event to the channel.
|
boolean |
hasRequests() |
boolean |
isCancelled() |
<M extends Message<? extends T>> |
send(M msg)
Sends a message to the channel.
|
CompletionStage<Void> |
send(T msg)
Sends a payload to the channel.
|
CompletionStage<Void> send(T msg)
A Message object will be created to hold the payload and the returned CompletionStage will be
completed once this Message is acknowledged. If the Message is never acknowledged, then the
CompletionStage will never be completed.
msg - the thing to send, must not be nullCompletionStage, which will be completed when the message for this payload is acknowledged.
If the emitted message is nacked, the produced completion stage is completed exceptionally.IllegalStateException - if the channel has been cancelled or terminated or if an overflow strategy of
THROW_EXCEPTION or BUFFER is configured and the emitter overflows.<M extends Message<? extends T>> void send(M msg)
M - the Message typemsg - the Message to send, must not be nullIllegalStateException - if the channel has been cancelled or terminated or if an overflow strategy of
THROW_EXCEPTION or BUFFER is configured and the emitter overflows.void complete()
void error(Exception e)
e - the exception, must not be nullboolean isCancelled()
true if the emitter has been terminated or the subscription cancelled.boolean hasRequests()
true if one or more subscribers request messages from the corresponding channel where the emitter
connects to, return false otherwise.Copyright © 2018 – 2022 Eclipse Foundation. All rights reserved.
Use is subject to license terms.