@Override public void run() { ClassLoader originalLoader = Classes.setTCCL(_loader); try { _session.getStateful().fireUntilHalt(); } finally { try { _handler.disposeStatefulSession(); } finally { Classes.setTCCL(originalLoader); } } }
private Thread startThread() { Thread thread = new Thread(this); String name = new StringBuilder() .append(_handler.getClass().getSimpleName()) .append(':') .append(getClass().getSimpleName()) .append(':') .append(FIRE_UNTIL_HALT_COUNT.incrementAndGet()) .toString(); thread.setName(name); thread.setDaemon(true); thread.start(); return thread; }
@Override public void dispose() { _handler._fireUntilHaltThread = null; }