activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Bertram (JIRA)" <>
Subject [jira] [Commented] (ARTEMIS-312) Artemis clients use by default an unbounded global thread pool
Date Fri, 11 Dec 2015 14:58:11 GMT


Justin Bertram commented on ARTEMIS-312:

[~clebertsuconic], if the client is using JMS then the value can be configured via
or via an app server if that's being used.  However, if the client is using the core API then
they'd have to set it programmatically I think.

> Artemis clients use by default an unbounded global thread pool
> --------------------------------------------------------------
>                 Key: ARTEMIS-312
>                 URL:
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 1.1.0
>            Reporter: Jeff Mesnil
>            Assignee: Justin Bertram
> While investigating some performance issues, we noticed that Artemis clients (including
MDBs) use by default a "global" pool by creating a cached thread pool with 0 core pool size,
Integer.MAX_VALUE max size and 60s keep alive.
> This default global pool looks misconfigured. If a Artemis clients has a lot of activity
it is actually possible that threads are deleted from the pool and added back.
> Related to this, Artemis defines a threadPoolMaxSize attribute if the client is not using
a global pool. But the property does not seem to be well name.
> If the Artemis client is using a "non-global" pool, this property is used to create a
newFixedThreadPool. So this property defines the actual size of the pool, not a max size.
> As a comparison, the "global" scheduled thread is instantiating with a 5 core pool size.

This message was sent by Atlassian JIRA

View raw message