/** @deprecated since 0.7.0; use method {@link Threads#addShutdownHook(Runnable)} */ @Deprecated public static Thread addShutdownHook(final Runnable task) { return Threads.addShutdownHook(task); } /** @deprecated since 0.7.0; use method {@link Threads#removeShutdownHook(Thread)} */ @Deprecated
/** @deprecated since 0.7.0; use method {@link Threads#removeShutdownHook(Thread)} */ @Deprecated public static boolean removeShutdownHook(Thread hook) { return Threads.removeShutdownHook(hook); }
private static void registerShutdownHookOnceInClassicMode() { if (!isRunningInOsgi() && shutdownHookRegistered.compareAndSet(false, true)) { Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { runShutdownHooks(); } }); } }
@Override public void run() { runShutdownHooks(); } });
public static Thread addShutdownHook(final Runnable task) { Thread t = new Thread("shutdownHookThread") { @Override public void run() { try { task.run(); } catch (Exception e) { log.error("Failed to execute shutdown hook", e); } } }; synchronized (hooks) { hooks.add(t); } registerShutdownHookOnceInClassicMode(); return t; }
public static void runShutdownHooks() { while(hasMoreTasks()) { Collection<Thread> localHooks; synchronized (Threads.hooks) { localHooks = ImmutableList.copyOf(hooks); hooks.clear(); } for (Thread t : localHooks) { try { t.start(); } catch (Exception e) { Exceptions.propagateIfFatal(e); log.error("Failed to execute shutdown hook for thread " + t, e); } } for (Thread t : localHooks) { try { t.join(); } catch (Exception e) { Exceptions.propagateIfFatal(e); } } } }
private static void addShutdownHookIfNotAlready() { if (isShutdownHookRegistered.compareAndSet(false, true)) { Threads.addShutdownHook(BrooklynShutdownHookJob.newInstanceForReal()); } }
public void shutdown() throws Exception { if (server==null) return; if (shutdownHook != null) Threads.removeShutdownHook(shutdownHook); String url = getUrl(); if (log.isDebugEnabled()) log.debug("Stopping Test HttpService at {}", url); server.stop(); try { server.join(); } catch (Exception e) { /* NPE may be thrown e.g. if threadpool not started */ } LocalhostMachineProvisioningLocation.releasePort(addr, actualPort); log.info("Stopped test HttpService at {}", url); }
private void addShutdownHook() { // some webapps can generate a lot of output if we don't shut down the browser first shutdownHook = Threads.addShutdownHook(new Runnable() { @Override public void run() { log.info("Test HttpService detected shut-down: stopping"); try { shutdown(); } catch (Exception e) { log.error("Failure shutting down web-console: "+e, e); } } }); }
service.join(); Threads.addShutdownHook(new Runnable() { @Override public void run() { if (service != null)