@Override public void cleanUp(boolean ok, Exception e) { super.cleanUp(ok, e); bundle.disconnect(); if (e != null && !ExceptionUtils.hasInterruptedCause(e) && !(e instanceof ConcurrentUpdateException)) { log.error("Failed to execute async event " + bundle.getName() + " on listener " + listenerName, e); } if (listener != null) { EventStats stats = Framework.getService(EventStats.class); if (stats != null) { stats.logAsyncExec(listener, System.currentTimeMillis() - getStartTime()); } listener = null; } }