in ons-core/ons-trace-core/src/main/java/org/apache/rocketmq/ons/open/trace/core/dispatch/impl/AsyncArrayDispatcher.java [201:224]
public void run() {
while (!stopped) {
List<OnsTraceContext> contexts = new ArrayList<OnsTraceContext>(batchSize);
for (int i = 0; i < batchSize; i++) {
OnsTraceContext context = null;
try {
context = traceContextQueue.poll(5, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
}
if (context != null) {
contexts.add(context);
} else {
break;
}
}
if (contexts.size() > 0) {
AsyncAppenderRequest request = new AsyncAppenderRequest(contexts);
traceExecuter.submit(request);
} else if (AsyncArrayDispatcher.this.stopped) {
this.stopped = true;
}
}
}