You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/09/08 14:53:27 UTC

[27/35] logging-log4j2 git commit: Stop futures the same way for all life cycles.

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/LOG4J2-1349-gcfree-threadcontext
Commit: fa0bb6f42442f5f0a3e3c5dc9db915e8a6123727
Parents: 04de677
Author: Gary Gregory <gg...@apache.org>
Authored: Thu Sep 8 00:44:21 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
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) {