You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2016/04/28 19:28:34 UTC

[22/52] [partial] qpid-site git commit: add files from old svn site repo, with docs dir renamed to content but no other changes

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html
new file mode 100644
index 0000000..5aef93e
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.3.&#160;Connection - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.3.&#160;Connection</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.3.&#160;Connection</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Session.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection"></a>5.3.&#160;Connection</h2></div></div></div><p>A Connection represents an open communication channel between application and
+      Broker.</p><p>Connections are created from the ConnectionFactory <a class="footnote" href="#ftn.idp4200688" id="idp4200688"><sup class="footnote">[3]</sup></a>.</p><p>Each connection utilises a single TCP/IP connection between the process of the application
+      and the process of the Broker. The act of establishing a connection is therefore a relatively
+      expensive operation. It is recommended that the same connection is used for a series of
+      message interactions. Patterns utilising a connection per message should not be used. </p><p>The underlying TCP/IP connection remains open for the lifetime of the JMS connection. It
+      is closed when the application calls <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Connection.html#close()" target="_top">Connection#close()</a>, but it
+      can also be closed if the connection is closed from the Broker side (via a Management
+      operation or broker shutdown or running into coditions which AMQP specifications treats as errors and mandates closing the connection).
+      The JMS connection will also be closed if the underlying TCP/IP connection is broken.</p><p>Qpid connections have failover and heartbeating capabilities. They support SSL and
+      client-auth. These are described in the sub-sections that follow.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-Failover"></a>5.3.1.&#160;Failover</h3></div></div></div><p>Qpid connections support a failover feature. This is the ability to automatically
+        re-establish a failed connection, either to the same Broker, or the next Broker in the
+        broker list.</p><p>This failover process is done in a manner that is mostly transparent to the application.
+        After a successful failover, any existing Connection, Session, MessageConsumer and
+        MessageProducer objects held by the application remain valid.</p><p>If a failover occurs during the scope of a JMS Transaction, any work performed by that
+        transaction is lost. The application is made aware of this loss by way of the <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/TransactionRolledBackException.html" target="_top">TransactionRolledBackException</a> from the <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#commit" target="_top">Session#commit()</a> call.
+        Applications utilising failover must be prepared to catch this exception and respond by
+        either repeating the work of the transaction, or by propagating a rollback to the
+        originating system.</p><p>If, after all retries are exhausted, failover has failed to reconnect the application,
+        the Connection's <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a> will receive a JMSException with a linked exception of <a class="ulink" href="JMS-Client-0-8-Appendix-Exceptions-AMQDisconnectedException" target="_top">AMQDisconnectedException</a>. Any further use of the JMS objects (Connection, Session
+        etc), will results in a <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p><p>Configure failover using the Connection URL. Here's an example Connection URL utilising
+        failover between two brokers. Note the use of the broker options <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-Retries"><code class="literal">retries</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-ConnectDelay"><code class="literal">connectdelay</code></a> to control the number of connection attempts to
+        each individual broker, and the delay between each connection attempt. Also note the use of
+        the <span class="emphasis"><em>failover option</em></span>
+        <code class="literal">cyclecount</code> to control the number of times the failover mechanism will
+        traverse the brokerlist.</p><div class="example"><a id="idp6724096"></a><p class="title"><strong>Example&#160;5.1.&#160;Connection URL configured for failover</strong></p><div class="example-contents"><pre class="screen">
+amqp://username:password@clientid/test
+            ?brokerlist='tcp://localhost:15672?retries='10'&amp;connectdelay='1000';tcp://localhost:25672?retries='10'&amp;connectdelay='1000''
+            &amp;failover='roundrobin?cyclecount='20''
+        </pre></div></div><br class="example-break" /><p>For full details see <a class="xref" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Chapter&#160;7, <em>Connection URLs</em></a></p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Note, that a single broker failover is enabled by default. If the failover behaviour is not desired it can be switched off
+       by setting a failover option to <span class="emphasis"><em>nofailover</em></span> as in the example below
+       </p><div class="example"><a id="idp4486608"></a><p class="title"><strong>Example&#160;5.2.&#160;Connection URL configured with nofailover</strong></p><div class="example-contents"><pre class="screen">
+amqp://username:password@clientid/test
+            ?brokerlist='tcp://localhost:15672?failover='nofailover'
+        </pre></div></div><p><br class="example-break" />
+      </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-Heartbeating"></a>5.3.2.&#160;Heartbeating</h3></div></div></div><p>Qpid connections support heartbeating. When enabled, the Qpid JMS client and Broker
+        exchange a heartbeat during periods of inactivity. This allows both peers to discover if the
+        TCP/IP connection becomes inoperable in a timely manner.</p><p>This feature is sometimes useful in applications that must traverse firewalls as the
+        heartbeat prevents connections from being closed during periods when there is no application
+        traffic.</p><p>It is also allows the both the JMS client and the Broker to confirm that the other is
+          <span class="emphasis"><em>minimally</em></span> responsive. (It does nothing however to determine the
+        health of the higher level tiers of application, for this reason, applications may implement
+        an application level heartbeat either in addition to, or instead of the heartbeat.</p><p>If the client ever fails to receive two consecutive heartbeats, the Connection will be
+        automatically closed and the Connection's <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a> will
+        receive a JMSException with a linked exception of AMQDisconnectedException. Any further use
+        of the JMS objects (Connection, Session etc), will results in a <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p><p>To enable heartbeating either use a Connection URL including the broker option <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-Heartbeat"><code class="literal">heartbeat</code></a>, or use the system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-Heartbeat"><code class="literal">qpid.heartbeat</code></a>. </p><div class="example"><a id="idp4497360"></a><p class="title"><strong>Example&#160;5.3.&#160;Connection URL configured for heartbeating</strong></p><div class="example-contents"><pre class="screen">
+amqp://guest:guest@clientid/?brokerlist='localhost:5672?heartbeat='5''
+        </pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-SSL"></a>5.3.3.&#160;SSL</h3></div></div></div><p>The Qpid JMS client supports connections encrypted using Secure Socket Layer (SSL) and
+        SSL-Client Authentication. SSL is configured using Connection URL. To use SSL, SSL must be
+        be configured on the Broker.</p><p>Some example Connection URLs using SSL follow:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Simple SSL when the Broker is secured by a certificate that is signed by a CA which
+            is trusted by the JVM.</p><div class="example"><a id="idp6212000"></a><p class="title"><strong>Example&#160;5.4.&#160;Connection URL configured for SSL - CA trusted by JVM</strong></p><div class="example-contents"><pre class="screen">
+amqp://guest:guest@clientid/?brokerlist='localhost:5671'&amp;ssl='true'
+            </pre></div></div><br class="example-break" /></li><li class="listitem"><p>SSL when the Broker is secured by a certificate that is signed by a CA which is NOT
+            trusted by the JVM (such as when a organisation is using a private CA, or self-signed
+            certificates are in use). For this case, we use <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStore"><code class="literal">trust_store</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStorePassword"><code class="literal">trust_store_password</code></a> to specify a path a truststore file
+            (containing the certificate of the private-CA) and the truststore password.</p><div class="example"><a id="idp6217040"></a><p class="title"><strong>Example&#160;5.5.&#160;Connection URL configured for SSL - CA not trusted by JVM</strong></p><div class="example-contents"><pre class="screen">
+amqp://guest:guest@clientid/?brokerlist='localhost:5671?trust_store='/path/to/acme_org_ca.ts'&amp;trust_store_password='secret''&amp;ssl='true'
+            </pre></div></div><br class="example-break" /></li><li class="listitem"><p>SSL with SSL client-auth. For this case, we use <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStore"><code class="literal">key_store</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStorePassword"><code class="literal">key_store_password</code></a> to specify a path a keystore file
+            (containing the certificate of the client) and the keystore password.</p><div class="example"><a id="idp6222048"></a><p class="title"><strong>Example&#160;5.6.&#160;Connection URL configured for SSL - SSL client-auth</strong></p><div class="example-contents"><pre class="screen">
+amqp://guest:guest@clientid/?brokerlist='localhost:5671?trust_store='/path/to/app1_client_cert.ks'&amp;key_store_password='secret''&amp;ssl='true'
+            </pre></div></div><br class="example-break" /></li></ul></div></div><div class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" id="ftn.idp4200688"><p><a class="para" href="#idp4200688"><sup class="para">[3] </sup></a>Constructors of the AMQConnection class must not be used.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Session.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.2.&#160;ConnectionFactory&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.4.&#16
 0;Session</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html
new file mode 100644
index 0000000..4024a8f
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.2.&#160;ConnectionFactory - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.2.&#160;ConnectionFactory</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.2.&#160;ConnectionFactory</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Connection.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-ConnectionFactory"></a>5.2.&#160;ConnectionFactory</h2></div></div></div><p>A <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a>
+      allows an application to create a <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Connection.html" target="_top">Connection</a>.</p><p>The application obtains the ConnectionFactory from an <a class="ulink" href="http://docs.oracle.com/javase/6/docs/api/javax/naming/InitialContext.html" target="_top">InitialContext</a>. The
+      InitialContext is itself obtained from an InitialContextFactory. </p><p>The Qpid JMS client provides a single implementation of the InitialContextFactory in class
+        <code class="literal">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</code>. This
+      implementation is backed by a <a class="ulink" href="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html" target="_top">Properties</a> object which can of course be loaded from an external properties file,
+      or created programatically.</p><p>The examples in the previous chapter illustrated the Java code required to <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP" title="4.1.&#160;Point to point example">create the InitialContext</a> and an <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP-PropertiesFile" title="Example&#160;4.2.&#160;JMS Example - Point to Point Messaging - JNDI Properties">example properties file</a>.</p><p>Note that the Qpid Broker does not present a JNDI interface to the application.</p><div class="figure"><a id="idp3759408"></a><p class="title"><strong>Figure&#160;5.2.&#160;JNDI overview</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="JNDI overview" src="images/JndiOverview.png" /></div></div></div><br class="figure-break" /></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0
 -8-Client-Understanding.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Connection.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;5.&#160;Understanding the Qpid JMS client&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.3.&#160;Connection</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html
new file mode 100644
index 0000000..d92a3c8
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.7.&#160;Destinations - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.7.&#160;Destinations</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.7.&#160;Destinations</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-JNDI-Properties-Format.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-Destinations"></a>5.7.&#160;Destinations</h2></div></div></div><p>A Destination is either a Queue or Topic. In the Qpid JMS client a Destination
+      encapsulates a Binding URL. In simple terms, the Binding URL comprises of an exchange, queue
+      and a routing key. Binding URLs are described fully by <a class="xref" href="JMS-Client-0-8-Binding-URL.html" title="Chapter&#160;8.&#160;Binding URL">Chapter&#160;8, <em>Binding URL</em></a>. </p><p>In many cases, applications do not need to deal directly with Binding URLs, instead they
+      can refer to JMS administered objects declared in the JNDI properties file with the
+        <code class="literal">queue.</code> and <code class="literal">topic.</code> prefix to create Queues and Topics
+      objects respectively. </p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-JNDI-Properties-Format.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.6.&#160;MessageConsumer&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;6.&#160;JNDI Properties Format</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html
new file mode 100644
index 0000000..ae11118
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.6.&#160;MessageConsumer - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.6.&#160;MessageConsumer</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.6.&#160;MessageConsumer</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Destinations.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer"></a>5.6.&#160;MessageConsumer</h2></div></div></div><p>A MessageConsumer receives messages from a Queue or Topic.</p><p>MessageConsumer objects are created from the Session.</p><p>Qpid JMS MessageConsumers have a number of features above that required by JMS. These are
+      described in the sub-sections that follow.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer-ConsumerSideEffect"></a>5.6.1.&#160;Consumers have Exchange/Queue Declaration and Binding Side Effect</h3></div></div></div><p>By default, calling <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#createConsumer(javax.jms.Destination)" target="_top">Session#createConsumer()</a> will cause:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>If the exchange does not exist on the Broker, it will be created. The exchange is
+            specified by the Binding URL associated with the Destination.</p></li><li class="listitem"><p>If the queue does not exist on the Broker, it will be created. The queue is
+            specified by the Binding URL associated with the Destination.</p></li><li class="listitem"><p>If there is no binding between the exchange and queue, a binding will be created
+            using the routingkey as a bindingkey. The exchange, queue and routing key are specified
+            by the Binding URL associated with the Destination.</p></li></ol></div><p>The exchange and queue declare side effect can be suppressed using system properties
+          <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareExchanges"><code class="literal">qpid.declare_exchanges</code></a> and <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareQueues"><code class="literal">qpid.declare_queues</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer-TopicSubscriptions"></a>5.6.2.&#160;Topic Subscriptions</h3></div></div></div><p>The Qpid JMS client implements each subscription to a Topic as separate queue on the
+        Broker. From the perspective of the JMS application this implementational detail is
+        irrelevant: the application never needs to directly address these queues. However, these
+        details are important when considering Management and Operational concerns.</p><p>Durable topic subscriptions use a <span class="emphasis"><em>durable</em></span> and
+          <span class="emphasis"><em>exclusive</em></span> queue named as follows:</p><pre class="programlisting">
+        clientid: + subscriptionId
+      </pre><p>where <code class="literal">subscriptionId</code> is that passed to the <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#createDurableSubscriber(javax.jms.Topic,%20java.lang.String)" target="_top">Session#createDurableSubscriber(javax.jms.Topic,java.lang.String)</a></p><p>Calling <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#unsubscribe(java.lang.String)" target="_top">Session#unsubscribe(java.lang.String)</a> deletes the underlying queue.</p><p>Non-durable topic subscriptions use a <span class="emphasis"><em>non-durable</em></span>,
+          <span class="emphasis"><em>exclusive</em></span> and <span class="emphasis"><em>auto-delete</em></span> queue named as
+        follows:</p><pre class="programlisting">
+        tmp + _ + ip + _ + port + _ + sequence
+      </pre><p>where <code class="literal">ip</code> is the ip address of the client with dots replaced by
+        underscores, <code class="literal">port</code> is the ephemeral port number assigned to the client's
+        connection, and <code class="literal">sequence</code> is a sequence number.</p><p>Closing the consumer (or closing the connection) will delete the underlying
+        queue.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer-MaximumDeliveryCount"></a>5.6.3.&#160;Maximum Delivery Count</h3></div></div></div><p>With this feature, the Broker keeps track of a number of times a message has been
+        delivered to a consumer. If the count ever exceeds a threshold value, the Broker moves the
+        message to a dead letter queue (DLQ). This is used to prevent poison messages preventing a
+        system's operation. This client feature requires support for the corresponding feature by
+        the Broker.</p><p>When using this feature, the application must either set system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-RejectBehaviour">qpid.reject.behaviour</a> or
+        the Binding URL option <a class="link" href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Options-RejectBehaviour"><code class="literal">rejectbehaviour</code></a> to the value
+        <code class="literal">server</code>.</p><p>See <a class="ulink" href="/releases/qpid-0.26/java-broker/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" target="_top"> Handling Undeliverable Messages</a> within the Java Broker book for full details of
+          the functioning of this feature.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The optional JMS message header <code class="literal">JMSXDeliveryCount</code> is <span class="emphasis"><em>not</em></span>
+          supported.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-Destinations.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.5.&#160;MessageProducer&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.7.&#160;Destinations</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html
new file mode 100644
index 0000000..05f37a3
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.5.&#160;MessageProducer - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.5.&#160;MessageProducer</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.5.&#160;MessageProducer</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Session.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer"></a>5.5.&#160;MessageProducer</h2></div></div></div><p>A MessageProducer sends a message an <span class="emphasis"><em>Exchange</em></span>. It is the Exchange
+      (within the Broker) that routes the message to zero or more queue(s). Routing is performed
+      according to rules expressed as <span class="emphasis"><em>bindings</em></span> between the exchange and queues
+      and a <span class="emphasis"><em>routing key</em></span> included with each message.</p><p>To understand how this mechanism is used to deliver messages to queues and topics, see
+        <a class="ulink" href="/releases/qpid-0.26/java-broker/book/Java-Broker-Concepts-Exchanges.html" target="_top">Exchanges</a>
+      within the Java Broker book.</p><p>It is important to understand that when not used on a transactional session, <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/MessageProducer.html#send(javax.jms.Message)" target="_top">MessageProducer#send()</a> is <span class="emphasis"><em>asynchronous</em></span> in nature. When #send()
+      returns to the application, the application cannot be certain if the Broker has received the
+      message. The Qpid JMS client may not have yet started to send the message, the message could
+      residing in a TCP/IP buffer, or the messages could be in some intermediate buffer within the
+      Broker. If the application requires certainty the message has been received by the Broker, a
+        <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#SESSION_TRANSACTED" target="_top">transactional
+        session</a>
+      <span class="emphasis"><em>must</em></span> be used.</p><p>Qpid JMS MessageProducers have a number of features above that required by JMS. These are
+      described in the sub-sections that follow.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer-MandatoryMessage"></a>5.5.1.&#160;Mandatory Messages</h3></div></div></div><p>With this feature, publishing a message with a routing key for which no binding exists
+        on the exchange will result in the message being returned to the publisher's
+        connection.</p><p>The Message is returned to the application in an asynchronous fashion via the
+        Connection's <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a>. When a message is returned, it will be invoked with a
+        JMSException whose linked exception is an <a class="ulink" href="JMS-Client-0-8-Appendix-Exceptions-AMQNoRouteException" target="_top">AMQNoRouteException</a>.
+        The returned message is available to the application by calling
+        AMQNoRouteException#getUndeliveredMessage(). The ExceptionListener will be invoked exactly
+        once for each returned message.</p><p>The mandatory message feature is turned <span class="emphasis"><em>on</em></span> by default for Queue
+        destinations and <span class="emphasis"><em>off</em></span> for Topic destinations. This can be overridden
+        using system properties <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DefaultMandatory"><code class="literal">qpid.default_mandatory</code></a> and <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DefaultMandatoryTopic"><code class="literal">qpid.default_mandatory_topic</code></a> for Queues and Topics
+        respectively.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Please note, according to AMQP specifications the mandatory flag on a message tells the server
+       how to react if the message cannot be routed to a  queue. If this flag is set, the server will return an unroutable message with a
+       Return method. If this flag is zero, the server silently drops the message. Please, refer <a class="ulink" href="http://www.amqp.org" target="_top">AMQP specifications</a>
+        for more details.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer-CloseWhenNoRoute"></a>5.5.2.&#160;Close When No Route</h3></div></div></div><p>With this feature, if a mandatory message is published with a routing key for which no
+        binding exists on the exchange the Broker will close the connection. This client feature
+        requires support for the corresponding feature by the Broker.</p><p>To enable or disable from the client, use the Connection URL option <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-CloseWhenNoRoute"><code class="literal">closeWhenNoRoute</code></a>.</p><p>See <a class="ulink" href="/releases/qpid-0.26/java-broker/book/Java-Broker-Close-Connection-When-No-Route.html" target="_top">
+          Closing client connections on unroutable mandatory messages</a> within the Java Broker
+        book for full details of the functioning of this feature.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer-ImmediateMessage"></a>5.5.3.&#160;Immediate Messages</h3></div></div></div><p>This feature is defined in <a class="ulink" href="http://www.amqp.org" target="_top">AMQP specifications</a>.</p><p>When this feature is enabled, when publishing a message the Broker ensures that a
+        Consumer is attached to queue. If there is no Consumer attached to the queue, the message is
+        returned to the publisher's connection. The Message is returned to the application in an
+        asynchronous fashion using the Connection's <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a>.</p><p>The ExceptionListener will be invoked with a JMSException whose linked exception is an
+          <a class="ulink" href="JMS-Client-0-8-Appendix-Exceptions-AMQNoConsumersException" target="_top">AMQNoConsumersException</a>. The returned message is available to the application by
+        calling AMQNoConsumersException#getUndeliveredMessage(). The ExceptionListener will be
+        invoked exactly once for each returned message.</p><p>The immediate message feature is turned <span class="emphasis"><em>off</em></span> by default. It can be
+        enabled with system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DefaultImmediate"><code class="literal">qpid.default_immediate</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer-FlowControl"></a>5.5.4.&#160;Flow Control</h3></div></div></div><p>With this feature, if a message is sent to a queue that is overflow, the producer's
+        session is blocked until the queue becomes underfull, or a timeout expires. This client
+        feature requires support for the corresponding feature by the Broker.</p><p>To control the timeout use System property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-FlowControlWaitFailure"><code class="literal">qpid.flow_control_wait_failure</code></a>. To control the frequency with
+        which warnings are logged whilst a Session is blocked, use System property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-FlowControlWaitNotifyPeriod"><code class="literal">qpid.flow_control_wait_notify_period</code></a></p><p>See <a class="ulink" href="/releases/qpid-0.26/java-broker/book/Java-Broker-Runtime-Disk-Space-Management.html#Qpid-Producer-Flow-Control" target="_top"> Producer Flow Control</a> within the Java Broker book for full details of the
+        functioning of this feature.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Session.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.4.&#160;Session&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.6.&#160;MessageConsumer</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/a1891eca/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html
----------------------------------------------------------------------
diff --git a/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html
new file mode 100644
index 0000000..706f243
--- /dev/null
+++ b/content/releases/qpid-0.26/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html
@@ -0,0 +1,187 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <title>5.4.&#160;Session - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+          <li><a href="/issues.html">Issues</a></li>
+          <li><a href="/source-code.html">Source Code</a></li>
+          <li><a href="/resources.html">More Resources</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <section>
+          <h3>Project</h3>
+
+          <ul>
+            <li><a href="/overview.html">Overview</a></li>
+            <li><a href="/proton/index.html">Qpid Proton</a></li>
+            <li><a href="/contributors.html">Contributors</a></li>
+            <li><a href="/get-involved.html">Get involved</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Software</h3>
+
+          <ul>
+            <li><a href="/download.html">Download</a></li>
+            <li><a href="/documentation.html">Documentation</a></li>
+            <li><a href="/components/index.html">Components</a></li>
+            <li><a href="/releases/index.html">Releases</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>Resources</h3>
+
+          <ul>
+            <li><a href="/discussion.html">Discussion</a></li>
+            <li><a href="/issues.html">Issues</a></li>
+            <li><a href="/source-code.html">Source code</a></li>
+            <li><a href="/resources.html">More resources</a></li>
+          </ul>
+        </section>
+
+        <section>
+          <h3>More</h3>
+
+          <ul>
+            <li><a href="/amqp.html">AMQP</a></li>
+            <li><a href="/developer.html">Developer central</a></li>
+            <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li>
+          </ul>
+        </section>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search" method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/>
+          <button type="submit">Search</button>
+          <p><a href="/search.html">More ways to search</a></p>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-0.26/index.html">Qpid 0.26</a></li><li><a href="/releases/qpid-0.26/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.4.&#160;Session</li></ul>
+        <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.4.&#160;Session</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Connection.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session"></a>5.4.&#160;Session</h2></div></div></div><p>A Session object is a single-threaded context for producing and consuming messages.</p><p>Session objects are created from the Connection. Whilst Session objects are relatively
+      lightweight, patterns utilising a single Session per message are not recommended.</p><p>The number of sessions open per connection at any one time is limited. This value is
+      negotiated when the connection is made. It defaults to 256.</p><p>Qpid JMS Sessions have the ability to prefetch messages to improve consumer performance.
+      This feature is described next.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session-Prefecth"></a>5.4.1.&#160;Prefetch</h3></div></div></div><p>Prefetch specifies how many messages the client will optimistically cache for delivery
+        to a consumer. This is a useful parameter to tune that can improve the throughput of an
+        application. The prefetch buffer is scoped per <span class="emphasis"><em>Session</em></span>.</p><p>The size of the prefetch buffer can be tuned per Connection using the connection url
+        option <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Maxprefetch"><code class="literal">maxprefetch</code></a> (or JVM wide using the system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-Maxprefetch"><code class="literal">max_prefetch</code></a>). By default, prefetch defaults to 500.</p><p>There are situations when you may wish to consider reducing the size of prefetch:</p><p>
+        </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>When using a <a class="ulink" href="http://www.eaipatterns.com/CompetingConsumers.html" target="_top">Competing Consumers</a> pattern, prefetch can give the appearance of unequal
+              division of work. This will be apparent on startup when the queue has messages. The
+              first consumer started will cache prefetch size number of messages, possibly leaving
+              the other consumers with no initial work.</p></li><li class="listitem"><p>When using special queue types (such as LVQs, Sorted Queue and Priority Queues).
+              For these queue types the special delivery rules apply whilst the message resides on
+              the Broker. As soon as the message is sent to the client it delivery order is then
+              fixed. For example, if using a priority queue, and a prefetch of 100, and 100 messages
+              arrive with priority 2, the broker will send these to the client. If then a new
+              message arrives with priority 1, the broker cannot leap frog messages of the lower
+              priority. The priority 1 message will be delivered at the front of the next
+              batch.</p></li><li class="listitem"><p>When message size is large and you do not wish the memory footprint of the
+              application to grow (or suffer an OutOfMemoryError).</p></li></ol></div><p>
+      </p><p>Finally, if using multiple MessageConsumers on a single Session, keep in mind that
+        unless you keep polling <span class="emphasis"><em>all</em></span> consumers, it is possible for some traffic
+        patterns to result in consumer starvation and an application level deadlock. For example, if
+        prefetch is 100, and 100 hundred messages arrive suitable for consumer A, those messages
+        will be prefetched by the session, entirely filling the prefetch buffer. Now if the
+        application performs a blocking <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/MessageConsumer.html#receive()" target="_top">MessageConsumer#receive()</a> for Consumer B on the same Session, the application
+        will hang indefinitely as even if messages suitable for B arrive at the Broker. Those
+        messages can never be sent to the Session as no space is available in prefetch. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Please note, when the acknowlegement mode <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span>
+       or <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span> is set on a consuming session,
+       the prefetched messages are released from the prefetch buffer on transaction commit/rollback
+       (in case of acknowledgement mode <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span> )
+       or acknowledgement of the messages receipt (in case of acknowledgement mode
+       <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span> ). If the consuming application does not commit/rollback
+       the receiving transaction (for example, due to mistakes in application exception handling logic),
+       the prefetched messages continue to remain in the prefetch buffer preventing the delivery of the following messages.
+       As result, the application might stop the receiving of the messages
+       until the transaction is committed/rolled back (for <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span> )
+        or received messages are acknowledged (for <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span>).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session-TemporaryQueues"></a>5.4.2.&#160;TemporaryQueues</h3></div></div></div><p>Qpid implements JMS temporary queues as AMQP auto-delete queues. The life cycle of these
+        queues deviates from the JMS specification.</p><p>AMQP auto-delete queues are deleted either when the <span class="emphasis"><em>last</em></span> Consumer
+        closes, or the Connection is closed. If no Consumer is ever attached to the queue, the queue
+        will remain until the Connection is closed.</p><p>This deviation has no practical impact on the implementation of the <a class="ulink" href="http://www.eaipatterns.com/RequestReply.html" target="_top">request/reply messaging pattern</a>
+        utilising a per-request temporary reply queue. The reply to queue is deleted as the
+        application closes the Consumer awaiting the response. </p><p>Temporary queues are exposed to Management in the same way as normal queues. Temporary
+        queue names take the form string <code class="literal">TempQueue</code> followed by a random
+        UUID.</p><p>Note that <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/TemporaryQueue.html#delete()" target="_top">TemporaryQueue#delete()</a> merely marks the queue as deleted on within the JMS
+        client (and prevents further use of the queue from the application), however, the Queue will
+        remain on the Broker until the Consumer (or Connection) is closed.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session-CreateQueue"></a>5.4.3.&#160;CreateQueue</h3></div></div></div><p>In the Qpid JMS client, <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#createQueue(java.lang.String)" target="_top">Session#createQueue()</a> accepts either a queue name, or a Binding URL. If only name
+        is specified the destination will be resolved into binding URL:
+        direct://amq.direct//&lt;queue name&gt;?routingkey=&#8217;&lt;queue name&gt;&#8217;&amp;durable=&#8217;true&#8217;. </p><p>Calling Session#createQueue() has no effect on the Broker.</p><p>Reiterating the advice from the JMS javadoc, it is suggested that this method is not
+        generally used. Instead, application should lookup Destinations declared within JNDI.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session-CreateTopic"></a>5.4.4.&#160;CreateTopic</h3></div></div></div><p>In the Qpid JMS client, <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#createTopic(java.lang.String)" target="_top">Session#createTopic()</a> accepts either a topic name, or a Binding URL. If only name
+        is specified the destination will be resolved into binding URL: topic://amq.topic//&lt;topic
+        name&gt;?routingkey=&#8217;&lt;topic name&gt;&#8217;.</p><p>Calling Session#createTopic() has no effect on the Broker.</p><p>Reiterating the advice from the JMS javadoc, it is suggested that this method is not
+        generally used. Instead, application should lookup Destinations declared within JNDI.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Connection.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Client-Understanding.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.3.&#160;Connection&#160;</td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.5.&#160;MessageProducer</td></tr></table></div></div>
+
+        <hr/>
+
+        <ul id="-apache-navigation">
+          <li><a href="http://www.apache.org/">Apache</a></li>
+          <li><a href="http://www.apache.org/licenses/">License</a></li>
+          <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+          <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li>
+          <li><a href="http://www.apache.org/security/">Security</a></li>
+          <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li>
+        </ul>
+
+        <p id="-legal">
+          Apache Qpid, Messaging built on AMQP; Copyright &#169; 2013
+          The Apache Software Foundation; Licensed under
+          the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache
+          License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+          Proton, Apache, the Apache feather logo, and the Apache Qpid
+          project logo are trademarks of The Apache Software
+          Foundation; All other marks mentioned may be trademarks or
+          registered trademarks of their respective owners
+        </p>
+      </div>
+    </div>
+  </body>
+</html>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org