public static void stopLoggerContext(final boolean currentContext) { ((LifeCycle) LogManager.getContext(currentContext)).stop(); // stops async thread }
public static void stopLoggerContext() { ((LifeCycle) LogManager.getContext()).stop(); // stops async thread }
public void setTriggeringPolicy(final TriggeringPolicy triggeringPolicy) { triggeringPolicy.initialize(this); final TriggeringPolicy policy = this.triggeringPolicy; int count = 0; boolean policyUpdated = false; do { ++count; } while (!(policyUpdated = triggeringPolicyUpdater.compareAndSet(this, this.triggeringPolicy, triggeringPolicy)) && count < MAX_TRIES); if (policyUpdated) { if (triggeringPolicy instanceof LifeCycle) { ((LifeCycle) triggeringPolicy).start(); } if (policy instanceof LifeCycle) { ((LifeCycle) policy).stop(); } } else { if (triggeringPolicy instanceof LifeCycle) { ((LifeCycle) triggeringPolicy).stop(); } } }
@Override public void onApplicationEvent(final ContextClosedEvent event) { logger.info("Gracefully shutting down application."); manager.stop(); manager.tearDown(); logger.info("JOAL gracefully shut down."); // Since we disabled log4j2 shutdown hook, we need to handle it manually. final LifeCycle loggerContext = (LoggerContext) LogManager.getContext(false); loggerContext.stop(); }
/** * Perform whatever cleanup is required of the underlying object.. */ @Override public void close() { LifeCycle lc = ((LifeCycle)LogManager.getContext()); if (lc.isStarted()) { lc.stop(); } }
stopped &= ((LifeCycle2) triggeringPolicy).stop(timeout, timeUnit); } else if (triggeringPolicy instanceof LifeCycle) { ((LifeCycle) triggeringPolicy).stop(); stopped &= true;
@Override public boolean stop(final long timeout, final TimeUnit timeUnit) { setStopping(); boolean stopped = true; for (final TriggeringPolicy triggeringPolicy : triggeringPolicies) { if (triggeringPolicy instanceof LifeCycle2) { stopped &= ((LifeCycle2) triggeringPolicy).stop(timeout, timeUnit); } else if (triggeringPolicy instanceof LifeCycle) { ((LifeCycle) triggeringPolicy).stop(); stopped &= true; } } setStopped(); return stopped; }
@Test public void lifecycleStop() { // given LifeCycle lifeCycle = createLifeCycleTestObject(); assertFalse(lifeCycle.isStarted()); lifeCycle.start(); assertTrue(lifeCycle.isStarted()); // when lifeCycle.stop(); // then assertFalse(lifeCycle.isStarted()); assertTrue(lifeCycle.isStopped()); }