Author: buildbot
Date: Thu Feb 25 16:43:16 2016
New Revision: 981149

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/activemq-4-connection-uris.html
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/configuring-transports.html
    websites/production/activemq/content/configuring-version-5-transports.html
    websites/production/activemq/content/nio-transport-reference.html

Modified: websites/production/activemq/content/activemq-4-connection-uris.html
==============================================================================
--- websites/production/activemq/content/activemq-4-connection-uris.html 
(original)
+++ websites/production/activemq/content/activemq-4-connection-uris.html Thu 
Feb 25 16:43:16 2016
@@ -91,7 +91,7 @@
   ...
 </broker>
 </pre>
-</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><h3 
id="ActiveMQ4ConnectionURIs-TheSSLTransport">The SSL Transport</h3><p>This 
allows you to talk over TCP using SSL.</p><p>For more information see the <a 
shape="rect" href="ssl-transport-reference.html">SSL Transport 
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheNIOSSLTransport">The NIO 
SSL Transport</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side transport-option only</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><p>For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ActiveMQ4ConnectionURIs-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL.</p><p>For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ActiveMQ4ConnectionURIs-TheNIOSSLTransport">The NIO SSL Transport</h3><div 
class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side transport-option
  only</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/configuring-transports.html
==============================================================================
--- websites/production/activemq/content/configuring-transports.html (original)
+++ websites/production/activemq/content/configuring-transports.html Thu Feb 25 
16:43:16 2016
@@ -90,7 +90,7 @@
   ...
 &lt;/broker&gt;
 </pre>
-</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><h3 
id="ConfiguringTransports-TheSSLTransport">The SSL Transport</h3><p>This allows 
you to talk over TCP using SSL.</p><p>For more information see the <a 
shape="rect" href="ssl-transport-reference.html">SSL Transport 
Reference</a></p><h3 id="ConfiguringTransports-TheNIOSSLTransport">The NIO SSL 
Transport</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side transport-option only</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><p>For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ConfiguringTransports-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL.</p><p>For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ConfiguringTransports-TheNIOSSLTransport">The NIO SSL Transport</h3><div 
class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side transport-option onl
 y</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;

Modified: 
websites/production/activemq/content/configuring-version-5-transports.html
==============================================================================
--- websites/production/activemq/content/configuring-version-5-transports.html 
(original)
+++ websites/production/activemq/content/configuring-version-5-transports.html 
Thu Feb 25 16:43:16 2016
@@ -91,7 +91,7 @@
   ...
 &lt;/broker&gt;
 </pre>
-</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><h3 
id="ConfiguringVersion5Transports-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL.</p><p>For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ConfiguringVersion5Transports-TheNIOSSLTransport">The NIO SSL 
Transport</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side transport-option only</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pd
 l">
+</div></div><p>Trying to use nio transport url on the client side will 
instantiate the regular TCP transport.</p><p>For more information see the <a 
shape="rect" href="nio-transport-reference.html">NIO Transport 
Reference</a></p><h3 id="ConfiguringVersion5Transports-TheSSLTransport">The SSL 
Transport</h3><p>This allows you to talk over TCP using SSL.</p><p>For more 
information see the <a shape="rect" href="ssl-transport-reference.html">SSL 
Transport Reference</a></p><h3 
id="ConfiguringVersion5Transports-TheNIOSSLTransport">The NIO SSL 
Transport</h3><div class="confluence-information-macro 
confluence-information-macro-information"><p 
class="title">Availability</p><span class="aui-icon aui-icon-small 
aui-iconfont-info confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>Available since 
5.6</p></div></div><p>Implementing SSL transport over NIO. This allows you to 
connect large number of SSL clients to a single broker instance. It's server 
side tran
 sport-option only</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">&lt;broker&gt;
   ...
   &lt;transportConnectors&gt;

Modified: websites/production/activemq/content/nio-transport-reference.html
==============================================================================
--- websites/production/activemq/content/nio-transport-reference.html (original)
+++ websites/production/activemq/content/nio-transport-reference.html Thu Feb 
25 16:43:16 2016
@@ -32,6 +32,15 @@
     </style>
     <![endif]-->
 
+          <link 
href='http://activemq.apache.org/styles/highlighter/styles/shCore.css' 
rel='stylesheet' type='text/css' /> 
+      <link 
href='http://activemq.apache.org/styles/highlighter/styles/shThemeEclipse.css' 
rel='stylesheet' type='text/css' /> 
+      <script 
src='http://activemq.apache.org/styles/highlighter/scripts/shCore.js' 
type='text/javascript'></script> 
+              <script 
src='http://activemq.apache.org/styles/highlighter/scripts/shBrushJava.js' 
type='text/javascript'></script> 
+         
+      <script type="text/javascript"> 
+        SyntaxHighlighter.defaults['toolbar'] = false; 
+        SyntaxHighlighter.all(); 
+      </script> 
     
     <title>
     Apache ActiveMQ &#8482; -- NIO Transport Reference
@@ -72,7 +81,11 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"></div>
+<div class="wiki-content maincontent"><p>NIO Transport is very similar to the 
regular <a shape="rect" href="tcp-transport-reference.html">TCP transport</a>. 
The difference is that it is implemented using NIO API which can help with 
performance and scalability.&#160;NIO is a server side transport option only. 
Trying to use it on the client side will instantiate the regular TCP 
transport.</p><h4 id="NIOTransportReference-ConfigurationSyntax">Configuration 
Syntax</h4><p><code><strong>nio://hostname:port?key=value</strong></code></p><p>Configuration
 options are the same as for the <a shape="rect" 
href="tcp-transport-reference.html">TCP transport</a>.</p><p>Note that the 
original NIO transport is a replacement for the tcp transport that uses 
OpenWire protocol. Other network protocols, such AMQP, MQTT, Stomp, etc also 
have their own NIO transport implementations. It configured usually, by adding 
"+nio" suffix to the protocol prefix, like</p><div class="code panel pdl" 
style="border-width:
  1px;"><div class="codeContent panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">mqtt+nio://localhost:1883</pre>
+</div></div><p>All protocol specific configuration should be applicable to the 
NIO version of the transport as well.</p><h3 
id="NIOTransportReference-TuningNIOtransportthreadusage">Tuning NIO transport 
thread usage</h3><p>One of the main advantages of using NIO instead of the 
regular versions of the transport is that it can scale better and support 
larger number of connections. The main limit in this scenario is the number of 
threads the system in using. In blocking implementations of the transports, one 
thread is used per connection. In the NIO implementation, there's a shared pool 
of threads that will take the load, so that number of connections are not 
directly related to the number of threads used in the system.</p><p>You can 
tune the number of threads used by the transport using the following system 
properties (available since <strong>5.14.0</strong>)</p><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh">Property</
 th><th colspan="1" rowspan="1" class="confluenceTh">Default value</th><th 
colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd">org.apache.activemq.transport.nio.SelectorManager.corePoolSize</td><td
 colspan="1" rowspan="1" class="confluenceTd">10</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The number of threads to keep in the pool, 
even if they are idle</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">org.apache.activemq.transport.nio.SelectorManager.maximumPoolSize</td><td
 colspan="1" rowspan="1" class="confluenceTd">1024</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>The maximum number of threads to allow in 
the pool</p></td></tr></tbody></table></div><p>If you want to scale your broker 
to support thousands of connections to it, you need to first find the limits of 
number of threads JVM process is allowed to create. Then you can set these 
properties to some value below that (brok
 er need more threads to operate normally). For more information on thread 
usage by destinations and how to limit those, please take a look at <a 
shape="rect" href="scaling-queues.html">Scaling Queues</a>&#160;or&#160;<a 
shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/activemq/trunk/assembly/src/sample-conf/activemq-scalability.xml";>this
 configuration file</a>. For example you can add the following</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">ACTIVEMQ_OPTS="$ACTIVEMQ_OPTS 
-Dorg.apache.activemq.transport.nio.SelectorManager.corePoolSize=2000 
-Dorg.apache.activemq.transport.nio.SelectorManager.maximumPoolSize=2000"</pre>
+</div></div><p>to the startup script (<code>${ACTIVEMQ_HOME}/bin/env</code> 
for example)&#160;to have a constant pool of 2000 threads handling connections. 
With the setting like this, the broker should be able to accept the number of 
connections up to the system limits. Of course, accepting connections is just 
one part of the story, so there are other limits to vertically scaling the 
broker.</p><p>&#160;</p></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to