Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.1.3
-
None
-
None
-
all
Description
The number of concurrent XmlRpcWorkers is controlled by XmlRpcController.getMaxThreads(). The same property is used to control pool size for XmlRpcWorker (in XmlRpcWorkerFactory). There are two deficiencies of using only this single property. First if I don't specify a maximum number of worker threads (default) no pooling takes place. Second it is common practice to keep a small pool of threads (sufficient for 90% of time) but allow more concurrent threads in peak periods. Thus I would propose to add another property getMaxPoolSize() to XmlRpcController which is used to control pool size (for backward compatibility setMaxThreads() could also change maxPoolSize in case this property is 0).