Hey Jon, queue=0 meaning queue is disabled sounds more than reasonable to me IMHO. Doesn't even seem too much like a "magic number" if you asked me. I would actually almost expect it to work this way.
Thanks Markus Am 17. Juli 2025 14:35:34 MESZ schrieb Jonathan Gallimore <jonathan.gallim...@gmail.com>: >Hi All > >Looking at the definition of a ManagedExecutorService, such as below, it >looks like there isn't a way to force the service to have no queue, and >always use more threads, up to the max threads. > >If you consider this definition: > > <Resource > id="MyManagedExecutor" > type="javax.enterprise.concurrent.ManagedExecutorService"> > Core=5 > Max=150 > KeepAlive=60s > Queue=0 > WaitAtShutdown=5s > </Resource> > >Per the logic here: >https://github.com/apache/tomee/blob/758e64e7fb69862c94233669531902b65bc1ab80/container/openejb-core/src/main/java/org/apache/openejb/resource/thread/ManagedExecutorServiceImplFactory.java#L77-L81 >, > >If size is specified (>0), anything executed will be added to the queue, >and the threadpool will only increase from the core size to the max size >when the queue is full. > >If size is 0 or negative, the same behaviour applies, but the queue is >unbounded (so the thread pool will not grow at all). > >There's no way to specify a zero sized queue (and always grow the thread >pool up to max; and reject work if all threads are busy and the pools is at >the max size). > >What are peoples thoughts on a change like this one? >https://github.com/apache/tomee/pull/2011 > >This does change the behaviour, and I'm not necessarily a fan of "magic" >numbers - an additional boolean setting to control the behaviour might be >an alternative? > >What do you think? > >Jon