Repository: logging-log4j2 Updated Branches: refs/heads/master 04de67711 -> fa0bb6f42
Stop futures the same way for all life cycles. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/fa0bb6f4 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fa0bb6f4 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fa0bb6f4 Branch: refs/heads/master Commit: fa0bb6f42442f5f0a3e3c5dc9db915e8a6123727 Parents: 04de677 Author: Gary Gregory <[email protected]> Authored: Thu Sep 8 00:44:21 2016 -0700 Committer: Gary Gregory <[email protected]> Committed: Thu Sep 8 00:44:21 2016 -0700 ---------------------------------------------------------------------- .../apache/logging/log4j/core/AbstractLifeCycle.java | 12 ++++++++++++ .../core/appender/rolling/CronTriggeringPolicy.java | 10 ++-------- .../log4j/core/appender/routing/IdlePurgePolicy.java | 7 +------ .../apache/logging/log4j/core/util/WatchManager.java | 4 ++-- 4 files changed, 17 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fa0bb6f4/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java index 71cc13d..fbbe074 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/AbstractLifeCycle.java @@ -16,6 +16,7 @@ */ package org.apache.logging.log4j.core; +import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.status.StatusLogger; @@ -126,6 +127,17 @@ public class AbstractLifeCycle implements LifeCycle { stop(DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT); } + protected boolean stop(Future<?> future) { + boolean stopped = true; + if (future != null) { + if (future.isCancelled() || future.isDone()) { + return true; + } + stopped = future.cancel(true); + } + return stopped; + } + @Override public boolean stop(final long timeout, final TimeUnit timeUnit) { this.state = LifeCycle.State.STOPPED; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fa0bb6f4/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java index 72e986b..6b8af2a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java @@ -140,15 +140,9 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy { @Override public boolean stop(final long timeout, final TimeUnit timeUnit) { setStopping(); - boolean canceled = true; - if (future != null) { - if (future.isCancelled() || future.isDone()) { - return true; - } - canceled = future.cancel(true); - } + final boolean stopped = stop(future); setStopped(); - return canceled; + return stopped; } @Override http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fa0bb6f4/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java index 8b87987..32851c5 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java @@ -59,13 +59,8 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R @Override public boolean stop(final long timeout, final TimeUnit timeUnit) { - boolean stopped = true; setStopping(); - if (future != null) { - // cancel, then check state - stopped &= future.cancel(true); - stopped &= future.isCancelled() || future.isDone(); - } + final boolean stopped = stop(future); setStopped(); return stopped; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fa0bb6f4/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java index f592a7c..95bf564 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java @@ -71,9 +71,9 @@ public class WatchManager extends AbstractLifeCycle { @Override public boolean stop(final long timeout, final TimeUnit timeUnit) { setStopping(); - future.cancel(true); + final boolean stopped = stop(future); setStopped(); - return true; + return stopped; } public void watchFile(final File file, final FileWatcher watcher) {
