The best reference is the code[1] but in short, it determines whether a pool of threads is used to do work in the broker or whether tasks (or groups of tasks) each take their own thread. If your JVM does a good job of thread management then having a thread per task is sensible. If there are too many threads for the JVM/OS to handle, then pooling thread resources will make more sense.
Typically your JVM/OS is best able to manage threads so by default the activemq start script chooses to use a dedicated task runner. ACTIVEMQ_OPTS="-Xmx512M -Dorg.apache.activemq.UseDedicatedTaskRunner=true" One use case where using the pool would make sense is if you want to limit the thread usage of the broker for some reason. [1] http://activemq.apache.org/maven/5.2.0/activemq-core/apidocs/src-html/org/apache/activemq/thread/TaskRunnerFactory.html 2009/1/30 yesnid <[email protected]>: > > Hello all, > > I am working on trying to customize my broker's configuration to that end I > am trying to understand the various elements of the configuration. As part > of that what is the effect of: "dedicatedTaskRunner" why and when would I > want to enable or disable this? > > Thank you. > -- > View this message in context: > http://www.nabble.com/What-is-the-effect-of-dedicatedTaskRunner-Attribute--tp21752894p21752894.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source SOA http://FUSESource.com
