in alpha/alpha-spec-saga-akka/src/main/java/org/apache/servicecomb/pack/alpha/spec/saga/akka/channel/memory/MemorySagaEventConsumer.java [44:67]
public void run() {
while (true) {
try {
BaseEvent event = channel.getEventQueue().peek();
if (event != null) {
if (LOG.isDebugEnabled()) {
LOG.debug("event {}", event);
}
long begin = System.currentTimeMillis();
metricsService.metrics().doActorReceived();
sagaShardRegionActor.tell(event, sagaShardRegionActor);
long end = System.currentTimeMillis();
metricsService.metrics().doActorAccepted();
metricsService.metrics().doActorAvgTime(end - begin);
channel.getEventQueue().poll();
} else {
Thread.sleep(10);
}
} catch (Exception ex) {
metricsService.metrics().doActorRejected();
LOG.error(ex.getMessage(), ex);
}
}
}