> -----Original Message----- > From: Noel J. Bergman [mailto:[EMAIL PROTECTED] > Sent: donderdag 29 juli 2004 18:44 > To: James Developers List > Subject: RE: Migration ... change for Thread Pool > > > 1) Is it an option to use the Apache Commons Thread Pool? > > It is stable, widely used and highly configurable. > > Someone would have to write a block for it.
Do you think that would be a good idea? > > I would like to be able to configure my thread pool so it > > blocks (with a time-out) until a new thread is available, > > so more mail will be accepted when the load is high. > > Not everyone wants the same thing, which is why you can replace the > thread manager. However, take a look at the ResourceLimitingThread > classes in http://svn.apache.org/repos/asf/avalon/cvs-migration- snapshot/avalon-components/cornerstone/threads/impl/src/java/org/apache/avalon/cornerstone/blocks/threads/. The configuration options should be flexible enough to > support both. Whoa â that *is* hidden! You know, even for a trained user that is quite buried! Does this mean I can add the following line to my config file? <thread-manager> <thread-group> <name>default</name> <priority>5</priority> <is-daemon>false</is-daemon> <max-threads>20</max-threads> <min-threads>20</min-threads> <min-spare-threads>10</min-spare-threads> <!-- Tell thread manager to wait for 5 seconds for a thread to become available --> <block-timeout>5000<block-timeout> </thread-group> </thread-manager> To make life easier, I think it would be a good idea to document this in the config file. And why not make include all Avalon (Excalibur, Cornerstoner, etc) sources in a james-with-all--sources release? > If someone wants to write a ThreadManager that uses Jakarta Commons > instead of the Excalibur classes, go for it. You can use the > ResourceLimitingThread code and our org.apache.james.util.thread > package as examples. Our package is a self-contained implementation of > everything necessary, importing only interfaces from Avalon. I would suggest standardizing on one thread package â on the one that is most stable, documented, widely used and supported. I donât know which one of the currently available implementations that would be. If you were to start from scratch, I think I would choose the Apache Commons library, but that is mostly because I havenât been able to find clear documentation on the use of the others. Cheers, Hes.
