You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/01/20 05:38:14 UTC
cvs commit: jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/thread/impl DefaultThreadPool.java WorkerThread.java
donaldp 02/01/19 20:38:14
Modified: src/scratchpad/org/apache/avalon/excalibur/thread/impl
DefaultThreadPool.java WorkerThread.java
Log:
Made ThreadPool more flexible by allowing laternative pool implementations.
Submitted By: Leif Mortenson <le...@silveregg.co.jp>
Revision Changes Path
1.10 +12 -5 jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/thread/impl/DefaultThreadPool.java
Index: DefaultThreadPool.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/thread/impl/DefaultThreadPool.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- DefaultThreadPool.java 3 Jan 2002 07:57:46 -0000 1.9
+++ DefaultThreadPool.java 20 Jan 2002 04:38:14 -0000 1.10
@@ -11,13 +11,14 @@
import org.apache.avalon.excalibur.pool.ObjectFactory;
import org.apache.avalon.excalibur.pool.Poolable;
import org.apache.avalon.excalibur.pool.SoftResourceLimitingPool;
-import org.apache.avalon.excalibur.thread.ThreadPool;
import org.apache.avalon.excalibur.thread.ThreadControl;
+import org.apache.avalon.excalibur.thread.ThreadPool;
import org.apache.avalon.framework.activity.Executable;
-import org.apache.avalon.framework.logger.Loggable;
+import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.logger.LogEnabled;
-import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.logger.LogKitLogger;
+import org.apache.avalon.framework.logger.Loggable;
+import org.apache.avalon.framework.logger.Logger;
/**
* This class is the public frontend for the thread pool code.
@@ -29,9 +30,9 @@
*/
public class DefaultThreadPool
extends ThreadGroup
- implements ObjectFactory, Loggable, LogEnabled, ThreadPool
+ implements ObjectFactory, Loggable, LogEnabled, Disposable, ThreadPool
{
- private final SoftResourceLimitingPool m_pool;
+ private SoftResourceLimitingPool m_pool;
private int m_level;
private Logger m_logger;
private ThreadContext m_context;
@@ -67,6 +68,12 @@
{
m_logger = logger;
m_pool.enableLogging( m_logger );
+ }
+
+ public void dispose()
+ {
+ m_pool.dispose();
+ m_pool = null;
}
public Object newInstance()
1.6 +3 -3 jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/thread/impl/WorkerThread.java
Index: WorkerThread.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/src/scratchpad/org/apache/avalon/excalibur/thread/impl/WorkerThread.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- WorkerThread.java 28 Dec 2001 15:42:11 -0000 1.5
+++ WorkerThread.java 20 Jan 2002 04:38:14 -0000 1.6
@@ -9,7 +9,7 @@
import org.apache.avalon.excalibur.lang.ThreadContext;
import org.apache.avalon.excalibur.pool.Poolable;
-import org.apache.avalon.excalibur.pool.SoftResourceLimitingPool;
+import org.apache.avalon.excalibur.pool.Pool;
import org.apache.avalon.excalibur.thread.ThreadControl;
import org.apache.avalon.framework.activity.Executable;
import org.apache.avalon.framework.logger.LogEnabled;
@@ -27,7 +27,7 @@
implements Poolable, LogEnabled
{
private Logger m_logger;
- private SoftResourceLimitingPool m_pool;
+ private Pool m_pool;
private Executable m_work;
private DefaultThreadControl m_threadControl;
@@ -39,7 +39,7 @@
*/
protected WorkerThread( final ThreadGroup group,
final String name,
- final SoftResourceLimitingPool pool,
+ final Pool pool,
final ThreadContext context )
{
super( group, name );
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>