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 rw...@apache.org on 2010/04/08 22:36:22 UTC
svn commit: r932097 -
/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
Author: rwatler
Date: Thu Apr 8 20:36:22 2010
New Revision: 932097
URL: http://svn.apache.org/viewvc?rev=932097&view=rev
Log:
JS2-1183: shutdown PortletApplicationManager Descriptor Change Monitor Thread during Spring bean lifecycle
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java?rev=932097&r1=932096&r2=932097&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java Thu Apr 8 20:36:22 2010
@@ -949,11 +949,11 @@ public class PortletApplicationManager i
this.maxRetriedStarts = maxretriedStarts;
}
- public void run()
+ public synchronized void run()
{
try
{
- sleep(interval);
+ wait(interval);
}
catch (InterruptedException e)
{
@@ -961,14 +961,12 @@ public class PortletApplicationManager i
while (started)
{
checkDescriptorChanges();
-
try
{
- sleep(interval);
+ wait(interval);
}
catch (InterruptedException e)
{
-
}
}
}
@@ -976,10 +974,23 @@ public class PortletApplicationManager i
/**
* notifies a switch variable that exits the watcher's montior loop started in the <code>run()</code> method.
*/
- public synchronized void safeStop()
+ public void safeStop()
{
- started = false;
- monitorInfos.clear();
+ // stop this monitor thread
+ synchronized (this)
+ {
+ started = false;
+ monitorInfos.clear();
+ notifyAll();
+ }
+ // wait for monitor thread stop
+ try
+ {
+ join(interval);
+ }
+ catch (InterruptedException ie)
+ {
+ }
}
public synchronized void monitor(String contextName, String contextPath, ClassLoader paClassLoader, int paType, File paDir, long checksum)
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org