E - @Beta public interface ReliableMessageListener<E> extends MessageListener<E>
MessageListener to better integrate with the reliable topic.
If a regular MessageListener is registered on a reliable topic, the message listener works fine, but it can't do much
more than listen to messages.
If a ReliableMessageListener is registered on a normal topic, only the MessageListener methods will be called.
isTerminal(Throwable)
method. If a plain MessageListener is used, then it won't terminate on exceptions and it will keep on running. But in some
cases it is better to stop running.
isLossTolerant().
retrieveInitialSequence() returns the stored
sequence, then an at-least-once delivery is implemented since the same item is now being processed twice. To implement
an at-most-once delivery guarantee, add 1 to the stored sequence when the retrieveInitialSequence() is called.| Modifier and Type | Method and Description |
|---|---|
boolean |
isLossTolerant()
Checks if this ReliableMessageListener is able to deal with message loss.
|
boolean |
isTerminal(Throwable failure)
Checks if the ReliableMessageListener should be terminated based on an exception thrown while calling
MessageListener.onMessage(com.hazelcast.core.Message). |
long |
retrieveInitialSequence()
Retrieves the initial sequence from which this ReliableMessageListener should start.
|
void |
storeSequence(long sequence)
Informs the ReliableMessageListener that it should store the sequence.
|
onMessagelong retrieveInitialSequence()
void storeSequence(long sequence)
sequence - the sequenceboolean isLossTolerant()
boolean isTerminal(Throwable failure)
MessageListener.onMessage(com.hazelcast.core.Message).failure - the exception thrown while calling MessageListener.onMessage(com.hazelcast.core.Message).Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.