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:[EMAIL PROTECTED]]
Sent: Thursday, May 23, 2002 2:29 PM
To: [EMAIL PROTECTED]
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 -> [EMAIL PROTECTED]

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

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

Reply via email to