You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2010/04/11 18:02:25 UTC
svn commit: r932928 - in
/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl:
WorkerImpl.java WorkerMonitorImpl.java
Author: taylor
Date: Sun Apr 11 16:02:25 2010
New Revision: 932928
URL: http://svn.apache.org/viewvc?rev=932928&view=rev
Log:
https://issues.apache.org/jira/browse/JS2-1183
worker threads seem to be shutting down in Tomcat 6.0.26
tests pass
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerImpl.java
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerMonitorImpl.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerImpl.java?rev=932928&r1=932927&r2=932928&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerImpl.java Sun Apr 11 16:02:25 2010
@@ -44,11 +44,11 @@ public class WorkerImpl extends Thread i
protected final static Logger log = LoggerFactory.getLogger(WorkerImpl.class);
/** Running status of this worker */
- private boolean running = true;
+ private volatile boolean running = true;
/** Counter of consecutive jobs that can be processed before the
worker being actually put back on the idle queue */
- private int jobCount = 0;
+ private volatile int jobCount = 0;
/** Job to process */
Runnable job = null;
@@ -152,7 +152,8 @@ public class WorkerImpl extends Thread i
}
catch (InterruptedException e)
{
- // nothing done
+ ((WorkerMonitorImpl) monitor).release(this);
+ this.running = false;
}
}
}
@@ -203,5 +204,11 @@ public class WorkerImpl extends Thread i
((WorkerMonitorImpl) monitor).release(this);
}
}
+
+ public void interrupt()
+ {
+ this.running = false;
+ super.interrupt();
+ }
}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerMonitorImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerMonitorImpl.java?rev=932928&r1=932927&r2=932928&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerMonitorImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/aggregator/impl/WorkerMonitorImpl.java Sun Apr 11 16:02:25 2010
@@ -20,6 +20,7 @@ package org.apache.jetspeed.aggregator.i
import java.security.AccessControlContext;
import java.security.AccessController;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Stack;
import java.util.LinkedList;
@@ -106,6 +107,14 @@ public class WorkerMonitorImpl implement
public void stop()
{
+ for (WorkerImpl worker : workers)
+ {
+ worker.interrupt();
+ }
+ for (WorkerImpl worker : workersMonitored)
+ {
+ worker.interrupt();
+ }
if (jobMonitor != null)
{
jobMonitor.endThread();
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org