
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <title>Thread management · ActiveMQ Artemis Documentation</title>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.1.1">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="logging.html" />
    
    
    <link rel="prev" href="libaio.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="notice.html">
            
                <a href="notice.html">
            
                    
                    Legal Notice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="preface.html">
            
                <a href="preface.html">
            
                    
                    Preface
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="project-info.html">
            
                <a href="project-info.html">
            
                    
                    Project Info
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="messaging-concepts.html">
            
                <a href="messaging-concepts.html">
            
                    
                    Messaging Concepts
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="architecture.html">
            
                <a href="architecture.html">
            
                    
                    Architecture
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="using-server.html">
            
                <a href="using-server.html">
            
                    
                    Using the Server
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="address-model.html">
            
                <a href="address-model.html">
            
                    
                    Address Model
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="using-jms.html">
            
                <a href="using-jms.html">
            
                    
                    Using JMS
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="using-core.html">
            
                <a href="using-core.html">
            
                    
                    Using Core
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="using-amqp.html">
            
                <a href="using-amqp.html">
            
                    
                    Using AMQP
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12" data-path="jms-core-mapping.html">
            
                <a href="jms-core-mapping.html">
            
                    
                    Mapping JMS Concepts to the Core API
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.13" data-path="client-classpath.html">
            
                <a href="client-classpath.html">
            
                    
                    The Client Classpath
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.14" data-path="examples.html">
            
                <a href="examples.html">
            
                    
                    Examples
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.15" data-path="wildcard-routing.html">
            
                <a href="wildcard-routing.html">
            
                    
                    Routing Messages With Wild Cards
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.16" data-path="wildcard-syntax.html">
            
                <a href="wildcard-syntax.html">
            
                    
                    Understanding the Apache ActiveMQ Artemis Wildcard Syntax
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17" data-path="filter-expressions.html">
            
                <a href="filter-expressions.html">
            
                    
                    Filter Expressions
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.18" data-path="persistence.html">
            
                <a href="persistence.html">
            
                    
                    Persistence
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.19" data-path="configuring-transports.html">
            
                <a href="configuring-transports.html">
            
                    
                    Configuring Transports
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.20" data-path="config-reload.html">
            
                <a href="config-reload.html">
            
                    
                    Configuration Reload
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.21" data-path="connection-ttl.html">
            
                <a href="connection-ttl.html">
            
                    
                    Detecting Dead Connections
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.22" data-path="slow-consumers.html">
            
                <a href="slow-consumers.html">
            
                    
                    Detecting Slow Consumers
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.23" data-path="network-isolation.html">
            
                <a href="network-isolation.html">
            
                    
                    Avoiding Network Isolation
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.24" data-path="transaction-config.html">
            
                <a href="transaction-config.html">
            
                    
                    Resource Manager Configuration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.25" data-path="flow-control.html">
            
                <a href="flow-control.html">
            
                    
                    Flow Control
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.26" data-path="send-guarantees.html">
            
                <a href="send-guarantees.html">
            
                    
                    Guarantees of sends and commits
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.27" data-path="undelivered-messages.html">
            
                <a href="undelivered-messages.html">
            
                    
                    Message Redelivery and Undelivered Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.28" data-path="message-expiry.html">
            
                <a href="message-expiry.html">
            
                    
                    Message Expiry
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.29" data-path="large-messages.html">
            
                <a href="large-messages.html">
            
                    
                    Large Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.30" data-path="paging.html">
            
                <a href="paging.html">
            
                    
                    Paging
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.31" data-path="queue-attributes.html">
            
                <a href="queue-attributes.html">
            
                    
                    Queue Attributes
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.32" data-path="scheduled-messages.html">
            
                <a href="scheduled-messages.html">
            
                    
                    Scheduled Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.33" data-path="last-value-queues.html">
            
                <a href="last-value-queues.html">
            
                    
                    Last-Value Queues
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.34" data-path="message-grouping.html">
            
                <a href="message-grouping.html">
            
                    
                    Message Grouping
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.35" data-path="pre-acknowledge.html">
            
                <a href="pre-acknowledge.html">
            
                    
                    Extra Acknowledge Modes
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.36" data-path="management.html">
            
                <a href="management.html">
            
                    
                    Management
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.37" data-path="security.html">
            
                <a href="security.html">
            
                    
                    Security
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.38" data-path="resource-limits.html">
            
                <a href="resource-limits.html">
            
                    
                    Resource Limits
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.39" data-path="jms-bridge.html">
            
                <a href="jms-bridge.html">
            
                    
                    The JMS Bridge
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.40" data-path="client-reconnection.html">
            
                <a href="client-reconnection.html">
            
                    
                    Client Reconnection and Session Reattachment
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.41" data-path="diverts.html">
            
                <a href="diverts.html">
            
                    
                    Diverting and Splitting Message Flows
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.42" data-path="core-bridges.html">
            
                <a href="core-bridges.html">
            
                    
                    Core Bridges
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.43" data-path="duplicate-detection.html">
            
                <a href="duplicate-detection.html">
            
                    
                    Duplicate Message Detection
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.44" data-path="clusters.html">
            
                <a href="clusters.html">
            
                    
                    Clusters
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.45" data-path="ha.html">
            
                <a href="ha.html">
            
                    
                    High Availability and Failover
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.46" data-path="graceful-shutdown.html">
            
                <a href="graceful-shutdown.html">
            
                    
                    Graceful Server Shutdown
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.47" data-path="libaio.html">
            
                <a href="libaio.html">
            
                    
                    Libaio Native Libraries
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.48" data-path="thread-pooling.html">
            
                <a href="thread-pooling.html">
            
                    
                    Thread management
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.49" data-path="logging.html">
            
                <a href="logging.html">
            
                    
                    Logging
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.50" data-path="rest.html">
            
                <a href="rest.html">
            
                    
                    REST Interface
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.51" data-path="embedding-activemq.html">
            
                <a href="embedding-activemq.html">
            
                    
                    Embedding Apache ActiveMQ Artemis
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.52" data-path="karaf.html">
            
                <a href="karaf.html">
            
                    
                    Apache Karaf
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.53" data-path="spring-integration.html">
            
                <a href="spring-integration.html">
            
                    
                    Spring Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.54" data-path="cdi-integration.html">
            
                <a href="cdi-integration.html">
            
                    
                    CDI Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.55" data-path="intercepting-operations.html">
            
                <a href="intercepting-operations.html">
            
                    
                    Intercepting Operations
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.56" data-path="protocols-interoperability.html">
            
                <a href="protocols-interoperability.html">
            
                    
                    Protocols and Interoperability
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.57" data-path="tools.html">
            
                <a href="tools.html">
            
                    
                    Tools
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.58" data-path="maven-plugin.html">
            
                <a href="maven-plugin.html">
            
                    
                    Maven Plugin
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.59" data-path="unit-testing.html">
            
                <a href="unit-testing.html">
            
                    
                    Unit Testing
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.60" data-path="perf-tuning.html">
            
                <a href="perf-tuning.html">
            
                    
                    Troubleshooting and Performance Tuning
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.61" data-path="configuration-index.html">
            
                <a href="configuration-index.html">
            
                    
                    Configuration Reference
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.62" data-path="updating-artemis.html">
            
                <a href="updating-artemis.html">
            
                    
                    Updating Artemis
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >Thread management</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="thread-management">Thread management</h1>
<p>This chapter describes how Apache ActiveMQ Artemis uses and pools threads and how you
can manage them.</p>
<p>First we&apos;ll discuss how threads are managed and used on the server side,
then we&apos;ll look at the client side.</p>
<h2 id="server-side-thread-management">Server-Side Thread Management</h2>
<p>Each Apache ActiveMQ Artemis Server maintains a single thread pool for general use, and
a scheduled thread pool for scheduled use. A Java scheduled thread pool
cannot be configured to use a standard thread pool, otherwise we could
use a single thread pool for both scheduled and non scheduled activity.</p>
<p>Apache ActiveMQ Artemis will, by default, cap its thread pool
at three times the number of cores (or hyper-threads) as reported by <code>Runtime.getRuntime().availableProcessors()</code> for processing
incoming packets. To override this value, you can set the number of
threads by specifying the parameter <code>nioRemotingThreads</code> in the
transport configuration. See the <a href="configuring-transports.html">configuring transports</a>
for more information on this.</p>
<p>There are also a small number of other places where threads are used
directly, we&apos;ll discuss each in turn.</p>
<h3 id="server-scheduled-thread-pool">Server Scheduled Thread Pool</h3>
<p>The server scheduled thread pool is used for most activities on the
server side that require running periodically or with delays. It maps
internally to a <code>java.util.concurrent.ScheduledThreadPoolExecutor</code>
instance.</p>
<p>The maximum number of thread used by this pool is configure in
<code>broker.xml</code> with the <code>scheduled-thread-pool-max-size</code>
parameter. The default value is <code>5</code> threads. A small number of threads
is usually sufficient for this pool.</p>
<h3 id="general-purpose-server-thread-pool">General Purpose Server Thread Pool</h3>
<p>This general purpose thread pool is used for most asynchronous actions
on the server side. It maps internally to a
<code>java.util.concurrent.ThreadPoolExecutor</code> instance.</p>
<p>The maximum number of thread used by this pool is configure in
<code>broker.xml</code> with the <code>thread-pool-max-size</code> parameter.</p>
<p>If a value of <code>-1</code> is used this signifies that the thread pool has no
upper bound and new threads will be created on demand if there are not
enough threads available to satisfy a request. If activity later
subsides then threads are timed-out and closed.</p>
<p>If a value of <code>n</code> where <code>n</code>is a positive integer greater than zero is
used this signifies that the thread pool is bounded. If more requests
come in and there are no free threads in the pool and the pool is full
then requests will block until a thread becomes available. It is
recommended that a bounded thread pool is used with caution since it can
lead to dead-lock situations if the upper bound is chosen to be too low.</p>
<p>The default value for <code>thread-pool-max-size</code> is <code>30</code>.</p>
<p>See the <a href="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ThreadPoolExecutor.htm" target="_blank">J2SE
javadoc</a>
for more information on unbounded (cached), and bounded (fixed) thread
pools.</p>
<h3 id="expiry-reaper-thread">Expiry Reaper Thread</h3>
<p>A single thread is also used on the server side to scan for expired
messages in queues. We cannot use either of the thread pools for this
since this thread needs to run at its own configurable priority.</p>
<p>For more information on configuring the reaper, please see <a href="message-expiry.html">message expiry</a>.</p>
<h3 id="asynchronous-io">Asynchronous IO</h3>
<p>Asynchronous IO has a thread pool for receiving and dispatching events
out of the native layer. You will find it on a thread dump with the
prefix ActiveMQ-AIO-poller-pool. Apache ActiveMQ Artemis uses one thread per opened
file on the journal (there is usually one).</p>
<p>There is also a single thread used to invoke writes on libaio. We do
that to avoid context switching on libaio that would cause performance
issues. You will find this thread on a thread dump with the prefix
ActiveMQ-AIO-writer-pool.</p>
<h2 id="client-side-thread-management">Client-Side Thread Management</h2>
<p>On the client side, Apache ActiveMQ Artemis maintains a single static scheduled thread
pool and a single static general thread pool for use by all clients
using the same classloader in that JVM instance.</p>
<p>The static scheduled thread pool has a maximum size of <code>5</code> threads, and
the general purpose thread pool has an unbounded maximum size.</p>
<p>If required Apache ActiveMQ Artemis can also be configured so that each
<code>ClientSessionFactory</code> instance does not use these static pools but
instead maintains its own scheduled and general purpose pool. Any
sessions created from that <code>ClientSessionFactory</code> will use those pools
instead.</p>
<p>To configure a <code>ClientSessionFactory</code> instance to use its own pools,
simply use the appropriate setter methods immediately after creation,
for example:</p>
<pre><code class="lang-java">ServerLocator locator = ActiveMQClient.createServerLocatorWithoutHA(...)

ClientSessionFactory myFactory = locator.createClientSessionFactory();

myFactory.setUseGlobalPools(<span class="hljs-keyword">false</span>);

myFactory.setScheduledThreadPoolMaxSize(<span class="hljs-number">10</span>);

myFactory.setThreadPoolMaxSize(-<span class="hljs-number">1</span>);
</code></pre>
<p>If you&apos;re using the JMS API, you can set the same parameters on the
ClientSessionFactory and use it to create the <code>ConnectionFactory</code>
instance, for example:</p>
<pre><code class="lang-java">ConnectionFactory myConnectionFactory = ActiveMQJMSClient.createConnectionFactory(myFactory);
</code></pre>
<p>If you&apos;re using JNDI to instantiate <code>ActiveMQConnectionFactory</code>
instances, you can also set these parameters in the JNDI context
environment, e.g. <code>jndi.properties</code>. Here&apos;s a simple example using the
&quot;ConnectionFactory&quot; connection factory which is available in the context
by default:</p>
<pre><code>java.naming.factory.initial=org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory

java.naming.provider.url=tcp://localhost:61616

connection.ConnectionFactory.useGlobalPools=false

connection.ConnectionFactory.scheduledThreadPoolMaxSize=10

connection.ConnectionFactory.threadPoolMaxSize=-1
</code></pre>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="libaio.html" class="navigation navigation-prev " aria-label="Previous page: Libaio Native Libraries">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="logging.html" class="navigation navigation-next " aria-label="Next page: Logging">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"Thread management","level":"1.48","depth":1,"next":{"title":"Logging","level":"1.49","depth":1,"path":"logging.md","ref":"logging.md","articles":[]},"previous":{"title":"Libaio Native Libraries","level":"1.47","depth":1,"path":"libaio.md","ref":"libaio.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/","issues":"http://activemq.apache.org/","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis User Guide and Reference Documentation"},"file":{"path":"thread-pooling.md","mtime":"2017-05-03T16:38:23.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-05-15T16:53:09.087Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

