@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.