@Beta public final class MessageTracker extends Object
// Track the Foo class, Here we expect to see a message of type Foo come in every 10 millis MessageTracker tracker = new MessageTracker(Foo.class, 10); // Begin the tracking process. If this is not called then calling received and done on the resultant Context // will do nothing tracker.begin(); ..... try (MessageTracker.Context context = tracker.received(message)) { if (context.error().isPresent()){ LOG.error("{}", context.error().get()); } // Some custom processing process(message); }
This class is NOT thread-safe.
Modifier and Type | Class and Description |
---|---|
static class |
MessageTracker.Context |
static interface |
MessageTracker.Error |
static class |
MessageTracker.MessageProcessingTime |
Constructor and Description |
---|
MessageTracker(Class<?> expectedMessageClass,
long expectedArrivalIntervalInMillis)
Constructs an instance.
|
Modifier and Type | Method and Description |
---|---|
void |
begin() |
List<MessageTracker.MessageProcessingTime> |
getMessagesSinceLastExpectedMessage() |
MessageTracker.Context |
received(Object message) |
public MessageTracker(Class<?> expectedMessageClass, long expectedArrivalIntervalInMillis)
expectedMessageClass
- the class of the message to trackexpectedArrivalIntervalInMillis
- the expected arrival interval between two instances of the expected
messagepublic void begin()
public MessageTracker.Context received(Object message)
public List<MessageTracker.MessageProcessingTime> getMessagesSinceLastExpectedMessage()
Copyright © 2019 OpenDaylight. All rights reserved.