public interface MessageLogReceiverEndpoint extends MessageReceiverEndpoint
MessageEndpoint endpoint of a Message Channel that supports random-access like reading of
messages using ChannelPositions.
| Modifier and Type | Method and Description |
|---|---|
default ChannelPosition |
consume(ChannelPosition startFrom)
Takes zero or more messages from the channel, calls
MessageEndpoint.intercept(Message) for every message, and notifies
the registered consumers with the intercepted message, or drops the message, if intercept returns null. |
ChannelPosition |
consumeUntil(ChannelPosition startFrom,
java.time.Instant until)
Takes zero or more messages from the channel, calls
MessageEndpoint.intercept(Message) for every message, and notifies
the registered consumers with the intercepted message, or drops the message, if intercept returns null. |
void |
stop()
Stops consumption of messages and shuts down the
MessageLogReceiverEndpoint. |
getMessageDispatcher, registergetChannelName, getEndpointType, getInterceptorChain, intercept, registerInterceptorsFrom@Nonnull default ChannelPosition consume(@Nonnull ChannelPosition startFrom)
MessageEndpoint.intercept(Message) for every message, and notifies
the registered consumers with the intercepted message, or drops the message, if intercept returns null.
Consumption starts with the first message after startFrom and finishes when either the
stopCondition is met, or the application is shutting down.
The returned ChannelPosition is the position of the last message that was processed by the
MessageLogReceiverEndpoint - whether it was dropped or consumed.
The registered consumers are used as a
callback for consumed messages. A MessageDispatcher can be used as a consumer, if multiple
consumers, or consumers with message payloads other than String are
required.
startFrom - the start position used to proceed message consumption@Nonnull ChannelPosition consumeUntil(@Nonnull ChannelPosition startFrom, @Nonnull java.time.Instant until)
MessageEndpoint.intercept(Message) for every message, and notifies
the registered consumers with the intercepted message, or drops the message, if intercept returns null.
Consumption starts with the first message after startFrom and finishes when either the
stopCondition is met, or the application is shutting down.
The returned ChannelPosition is the position of the last message that was processed by the
MessageLogReceiverEndpoint - whether it was dropped or consumed.
The registered consumers are used as a
callback for consumed messages. A MessageDispatcher can be used as a consumer, if multiple
consumers, or consumers with message payloads other than String are
required.
startFrom - the start position used to proceed message consumptionuntil - the arrival timestamp until the messages should be consumedvoid stop()
MessageLogReceiverEndpoint.