You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by ko...@apache.org on 2015/10/12 12:38:49 UTC

svn commit: r1708081 - in /roller/trunk/app/src/main/java/org/apache/roller/weblogger/business: HitCountQueue.java runnable/ContinuousWorkerThread.java

Author: kohei
Date: Mon Oct 12 10:38:48 2015
New Revision: 1708081

URL: http://svn.apache.org/viewvc?rev=1708081&view=rev
Log:
Fix shutdown procedure of ContinuousWorkerThread (it won't stop if interrupt() has been invoked during the thread is running)

Modified:
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java
    roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java?rev=1708081&r1=1708080&r2=1708081&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/HitCountQueue.java Mon Oct 12 10:38:48 2015
@@ -114,6 +114,12 @@ public final class HitCountQueue {
         if(this.worker != null) {
             log.info("stopping worker "+this.worker.getName());
             worker.interrupt();
+            try {
+                // wait 10 seconds for graceful shutdown
+                worker.join(10 * 1000);
+            } catch (InterruptedException e) {
+                log.debug("interrupted", e);
+            }
         }
         
     }

Modified: roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java
URL: http://svn.apache.org/viewvc/roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java?rev=1708081&r1=1708080&r2=1708081&view=diff
==============================================================================
--- roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java (original)
+++ roller/trunk/app/src/main/java/org/apache/roller/weblogger/business/runnable/ContinuousWorkerThread.java Mon Oct 12 10:38:48 2015
@@ -60,8 +60,8 @@ public class ContinuousWorkerThread exte
         
         mLogger.info(this.id+" Started.");
         
-        // run forever
-        while(true) {
+        // run till interrupted
+        while (!Thread.currentThread().isInterrupted()) {
             
             // execute our job
             super.run();
@@ -75,6 +75,8 @@ public class ContinuousWorkerThread exte
                 break;
             }
         }
+
+        mLogger.info(this.id+" Done.");
     }
-    
+
 }