@Override public final void run() { try { if (name != null) System.out.println("ERXShutdownHook " + name + " launched"); hook(); if (name != null) System.out.println("ERXShutdownHook " + name + " completed"); synchronized (ALL_HOOKS) { ALL_HOOKS.remove(this); ALL_HOOKS.notify(); } } catch (Exception e) { e.printStackTrace(); } }