[
https://issues.apache.org/jira/browse/AMQ-3885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matan Zruya updated AMQ-3885:
-----------------------------
Environment: core i7 laptop running win7 64bit with 8gb of ram (was: HP
Elitebook running win7 with 8gb of ram)
> ActiveMQ java client doesn't scale to thousands of queues
> ---------------------------------------------------------
>
> Key: AMQ-3885
> URL: https://issues.apache.org/jira/browse/AMQ-3885
> Project: ActiveMQ
> Issue Type: Bug
> Components: Connector
> Affects Versions: 5.6.0
> Environment: core i7 laptop running win7 64bit with 8gb of ram
> Reporter: Matan Zruya
> Labels: ActiveMQConnection, TaskRunnerFactory, client, java
>
> The ActiveMQ broker scales to tens of thousands of queues easily when using
> -Dorg.apache.activemq.UseDedicatedTaskRunner=false (false by default).
> A problem actually arises in the java client side, when a client is listening
> to X queues using 1 connection and Y sessions per queue, using a JMS message
> listener, X * Y threads will be created, when X * Y is not bounded,
> This is because each ActiveMQConnection object holds a TaskRunnerFactory
> which in turn has a ThreadPoolExecutor, the max pool size of the executor is
> defined to be Integer.MAX_VALUE.
> Shouldn't this number be bounded with a reasonable value ? (~200 or a
> constructor passed value)
> where if more concurrency is necessary, the work could be distributed across
> more connections...
> The ideal solution would be if multiple ActiveMQConnection objects could
> share a common TaskExecutor.
> But i feel like the minimum would be limiting the executor so the OS doesn't
> halt completely because of context switches.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira