I hope it is useful patch.

-- 
"the spirit can only withdraw into a corner. And yet, it is not at all 
 worn out or superfluous, but, like an (eternal) witness, floats above 
 the rubble of culture - almost like an  avenger of God.  As though it 
 awaited a new incarnation."
                                        -- Ludwig Wittgenstein --
Kazimierz Pogoda
Nordic Consulting & Development Company
mailto:[EMAIL PROTECTED]
Index: AbstractThreadManager.java
===================================================================
RCS file: /home/cvspublic/avalon-components/cornerstone/threads/impl/src/java/org/apache/avalon/cornerstone/blocks/threads/AbstractThreadManager.java,v
retrieving revision 1.2
diff -u -r1.2 AbstractThreadManager.java
--- AbstractThreadManager.java	15 Mar 2004 14:47:43 -0000	1.2
+++ AbstractThreadManager.java	25 Oct 2004 11:29:35 -0000
@@ -18,15 +18,18 @@
 package org.apache.avalon.cornerstone.blocks.threads;
 
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.avalon.cornerstone.services.threads.ThreadManager;
 
 import org.apache.excalibur.thread.ThreadPool;
 
+import org.apache.avalon.framework.activity.Disposable;
 import org.apache.avalon.framework.configuration.Configurable;
 import org.apache.avalon.framework.configuration.Configuration;
 import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.container.ContainerUtil;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
 
 /**
@@ -36,7 +39,7 @@
  */
 public abstract class AbstractThreadManager
     extends AbstractLogEnabled
-    implements ThreadManager, Configurable
+    implements ThreadManager, Configurable, Disposable
 {
     ///Map of thread pools for application
     private HashMap m_threadPools = new HashMap();
@@ -55,6 +58,15 @@
         for( int i = 0; i < groups.length; i++ )
         {
             configureThreadPool( m_threadPools, groups[ i ] );
+        }
+    }
+
+    public void dispose()
+    {
+        final Iterator pools = m_threadPools.values().iterator();
+        while( pools.hasNext() )
+        {
+            ContainerUtil.dispose( pools.next() );
         }
     }
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to