Details
-
Bug
-
Resolution: Done
-
Major
-
10.0.0.Final
-
None
Description
keepalive-time should be removed from the default profile configurations standalone*.xml / domain.xml as well as the ejb3 docs/schema xsd as the thread pool effectively takes the max-threads count and sets the core size of the thread pool to it, so keepalive-time is never used. Also, max-threads is misleading, the thread count is actually the core size as currently implemented, this causes confusion as if you set max-threads to 300 and you have at most 1 client, your thread pool will create a new thread upon ever request until it reaches 300 and thus while it is technically the max, it is also the core or min, or just # of threads.
<thread-pools> <thread-pool name="default"> <max-threads count="10"/> <keepalive-time time="100" unit="milliseconds"/> </thread-pool> </thread-pools>
A thread pool executor with an unbounded queue. Such a thread pool has a core size and a queue with no upper bound. When a task is submitted, if the number of running threads is less than the core size, a new thread is created. Otherwise, the task is placed in queue. If too many tasks are allowed to be submitted to this type of executor, an out of memory condition may occur. The "name" attribute is the name of the created executor. The "max-threads" attribute must be used to specify the thread pool size. The nested "keepalive-time" element may used to specify the amount of time that pool threads should be kept running when idle; if not specified, threads will run until the executor is shut down. The "thread-factory" element specifies the bean name of a specific threads subsystem thread factory to use to create worker threads. Usually it will not be set for an EJB3 thread pool and an appropriate default thread factory will be used.
Attachments
Issue Links
- is cloned by
-
JBEAP-3942 ejb3 subsystem thread-pools default config & xsd misleading
- Verified