@Override
public synchronized void close() {
if (!isOpen()) {
return;
}
try {
closeEventSink();
Utils.close(selector);
logger.log(OpLevel.DEBUG, "Tracker closed vm.name={0}, tid={1}, event.sink={2}, source={3}",
Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource());
} catch (Throwable e) {
errorCount.incrementAndGet();
logger.log(OpLevel.ERROR, "Failed to close tracker vm.name={0}, tid={1}, event.sink={2}, source={3}",
Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), e);
}
}