avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From --Migrated--James.Clo...@exchange.corp.disney.com
Subject RE: [event] TPCThreadManager running out of threads
Date Fri, 24 May 2002 15:33:55 GMT
I've added the loggers as constructor parameters... shall I submit a patch?

I also have this same problem, though..

James

-----Original Message-----
From: Peter Royal [mailto:proyal@apache.org]
Sent: Thursday, May 23, 2002 2:29 PM
To: avalon-dev@jakarta.apache.org
Subject: [event] TPCThreadManager running out of threads


Berin, the event package rules! I ran into a problem though:

java.lang.IllegalStateException: Unable to access thread pool due to 
java.lang.Exception: Could not create enough Components to service your 
request (Timed out).
        at 
org.apache.avalon.excalibur.thread.impl.ResourceLimitingThreadPool.getWorker
(ResourceLimitingThreadPool.java:330)
        at 
org.apache.avalon.excalibur.thread.impl.ResourceLimitingThreadPool.execute(R
esourceLimitingThreadPool.java:240)
        at 
org.apache.avalon.excalibur.thread.impl.ResourceLimitingThreadPool.execute(R
esourceLimitingThreadPool.java:228)
        at 
org.apache.excalibur.event.command.TPCThreadManager.run(TPCThreadManager.jav
a:184)
        at 
org.apache.avalon.excalibur.thread.impl.ExecutableRunnable.execute(Executabl
eRunnable.java:47)
        at 
org.apache.avalon.excalibur.thread.impl.WorkerThread.run(WorkerThread.java:8
0)

I was using the vanilla constructor for TPCThreadManager which will create 2

threads, 1 is the main control thread and the other is used for the 
pipelines. If a pipeline takes more than a second to execute, the above is 
thrown. I was noticing my thread die unexpectedly so I added a catch clause 
in TPCThreadManager.run() and saw the above.

My solution is easy, I'm going to increase the number of threads and lower 
the frequency at which the pipelines are checked.

I don't want to ignore that exception though, as it will be potentially 
confusing down the road for other users. (They will see their event
pipelines 
stop executing with no log msgs).

The TPCThreadManager is not LogEnabled though. IMHO it should be, but 
currently all parameter passing is via constructors. Should the logger
become 
another constructor parameter, or should the settings be moved to an init() 
method? This has implications on fortress too.. thus asking before doing :)
-pete

-- 
peter royal -> proyal@apache.org

--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>

--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message