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

svn commit: r1739899 [35/39] - in /qpid/site: docs/ docs/components/java-broker/ docs/components/jms/ docs/components/qpid-jca/ docs/releases/ docs/releases/qpid-java-6.0.0/ docs/releases/qpid-java-6.0.1/ docs/releases/qpid-java-6.0.2/ docs/releases/qp...

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Exceptions.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Exceptions.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Exceptions.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Exceptions.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,44 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix&#160;A.&#160;Exceptions</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Logging-EnablingDebugLogging.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-Maven.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-Exceptions"></a>Appendix&#160;A.&#160;Exceptions</h1></div></div></div><p>The methods of Qpid JMS Client throw <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/JMSException.html" target="_top">JMSExceptions</a> in response to error
+    conditions. Typically the exception's message (#getMessage()) summarises the error condition,
+    with contextual information being provided by the messages of linked exception(s). To understand
+    the problem, it is important to read the messages associated with <span class="emphasis"><em>all</em></span> the
+    linked exceptions.</p><p>The following table describes some of the more common exceptions linked to JMSException
+    thrown by JMS methods whilst using the client:</p><div class="table"><a id="d0e2495"></a><p class="title"><strong>Table&#160;A.1.&#160;Exceptions linked to JMSExceptions thrown by JMS methods</strong></p><div class="table-contents"><table border="1" summary="Exceptions linked to JMSExceptions thrown by JMS methods" width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Linked Exception</th><th>Message</th><th>Explanation/Common Causes</th></tr></thead><tbody><tr><td>AMQUnresolvedAddressException</td><td><span class="emphasis"><em>message varies</em></span></td><td><p>Indicates that the hostname included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, could not be resolved, . This could mean that the hostname is
+              mispelt, or there is name resolution problem.</p></td></tr><tr><td>AMQConnectionFailure</td><td>Connection refused</td><td><p>Indicates that the host included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, actively refused the connection. This could mean that the
+              hostname and/or port number is incorrect, or the Broker may not be
+            running.</p></td></tr><tr><td>AMQConnectionFailure</td><td>connect timed out</td><td><p>Indicates that the host included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, could not be contacted within the <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-ConnectTimeout">connecttimeout</a>. This could mean that the host is shutdown, or a networking
+              routing problem means the host is unreachable.</p></td></tr><tr><td>AMQConnectionFailure</td><td>General SSL Problem; PKIX path building failed; unable to find valid certification
+            path to requested target</td><td><p>Indicates that the CA that signed the Broker's certificate is not trusted by
+              the JVM of the client. If the Broker is using a private-CA (or a self signed
+              certificate) check that the client has been properly configured with a truststore. See
+                <a class="xref" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-SSL" title="5.3.3.&#160;SSL">Section&#160;5.3.3, &#8220;SSL&#8221;</a></p></td></tr><tr><td>AMQConnectionFailure / AMQAuthenticationException</td><td>not allowed</td><td><p>Indicates that the user cannot be authenticated by the Broker. Check the
+              username and/or password elements within the <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Connection URL</a>.</p></td></tr><tr><td>AMQConnectionFailure / AMQSecurityException</td><td>Permission denied: <span class="emphasis"><em>virtualhost name</em></span>; access refused</td><td><p>Indicates that the user is not authorised to connect to the given
+              virtualhost. The user is recognised by the Broker and is using the correct password
+              but does not have permission. This exception normally indicates that the user (or
+              group) has not been permissioned within the Broker's <a class="link" href="../../java-broker/book/Java-Broker-Security-ACLs.html" target="_top">Access Control List
+                (ACL)</a>.</p></td></tr><tr><td>AMQTimeoutException</td><td>Server did not respond in a timely fashion; Request Timeout</td><td><p>Indicates that the broker did not respond to a request sent by the client in
+              a reasonable length of time. The timeout is governed by <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-SyncOpTimeout"><code class="literal">qpid.sync_op_timeout</code></a>.</p><p>This can be a symptom
+              of a heavily loaded broker that cannot respond or the Broker may have failed in
+              unexpected manner. Check the broker and the host on which it runs and performance of
+              its storage.</p></td></tr><tr><td>AMQSecurityException</td><td>Permission denied: <span class="emphasis"><em>message varies</em></span></td><td><p>Indicates that the user is not authorised to use the given resource or
+              perform the given operation. This exception normally indicates that the user (or
+              group) has not been permissioned within the Broker's <a class="link" href="../../java-broker/book/Java-Broker-Security-ACLs.html" target="_top">Access Control List
+                (ACL)</a>.</p></td></tr></tbody></table></div></div><br class="table-break" /><p>The following table describes some of the more common exceptions linked to JMSException sent
+    to <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a>
+    instances.</p><div class="table"><a id="d0e2611"></a><p class="title"><strong>Table&#160;A.2.&#160;Exceptions linked to JMSExceptions received by ExceptionListeners</strong></p><div class="table-contents"><table border="1" summary="Exceptions linked to JMSExceptions received by ExceptionListeners" width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Linked Exception</th><th>Message</th><th>Explanation/Common Causes</th></tr></thead><tbody><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQNoRouteException"></a>AMQNoRouteException</td><td>No Route for message [Exchange: <span class="emphasis"><em>exchange name</em></span>, Routing key:
+              <span class="emphasis"><em>routing key</em></span>] [error code 312: no route]</td><td><p>Indicate that the named exchange is unable to route a message to at least one
+              queue.</p>
+            <p>This will occur if a queue has been improperly bound to an exchange. Use the
+              Broker's management interface to check the bindings. See <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-MandatoryMessage" title="5.5.1.&#160;Mandatory Messages">Section&#160;5.5.1, &#8220;Mandatory Messages&#8221;</a></p></td></tr><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQNoConsumersException"></a>AMQNoConsumersException</td><td>Immediate delivery is not possible. [error code 313: no consumers]</td><td><p>Immediate delivery was requested by the MessageProducer, but as there are no
+              consumers on any target queue, the message has been returned to the publisher. See
+                <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-ImmediateMessage" title="5.5.3.&#160;Immediate Messages">Section&#160;5.5.3, &#8220;Immediate Messages&#8221;</a>
+            </p></td></tr><tr><td>AMQDisconnectedException</td><td>Server closed connection and reconnection not permitted</td><td><p>Indicates that the connection was closed by the Broker, and as <a class="link" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Failover" title="5.3.1.&#160;Failover">failover
+                options</a> are not included in the Connection URL, the client has been unable to
+              reestablish connection.</p>
+            <p>The Connection is now closed and any attempt to use either Connection object, or
+              any objects created from the Connection will receive an <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p></td></tr><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQDisconnectedException"></a>AMQDisconnectedException</td><td>Server closed connection and no failover was successful</td><td><p>Indicates that the connection was closed by the Broker. The client has tried
+              failover according to the rules of the <a class="link" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Failover" title="5.3.1.&#160;Failover">failover
+                options</a>within the Connection URL, but these attempts were all
+              unsuccessful.</p>
+            <p>The Connection is now closed and any attempt to use either Connection object, or
+              any objects created from the Connection will receive an <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p></td></tr></tbody></table></div></div><br class="table-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-Logging-EnablingDebugLogging.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-Maven.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">10.2.&#160;Enabling Debug&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Appendix&#160;B.&#160;Minimal Maven POM</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,20 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">C.2.&#160;Binding Management</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Prev</a>&#160;</td><th align="center" width="60%">Appendix&#160;C.&#160;JMS Extensions</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Binding"></a>C.2.&#160;Binding Management</h2></div></div></div><p>These extensions allow bindings to be created or removed.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Binding-Creation"></a>C.2.1.&#160;Binding creation</h3></div></div></div><p>The following example illust
 rates the creation of queue binding to topic exchange with
+        JMS client.</p><div class="example"><a id="d0e2738"></a><p class="title"><strong>Example&#160;C.2.&#160;Binding a queue using JMS</strong></p><div class="example-contents"><pre class="programlisting">ConnectionFactory connectionFactory = ...
+Connection connection = connectionFactory.createConnection();
+AMQSession&lt;?, ?&gt; session = (AMQSession&lt;?,?&gt;)connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+...
+
+AMQShortString queueName = new AMQShortString("testQueue");
+AMQShortString routingKey = new AMQShortString("testRoutingKey");
+AMQDestination destination = (AMQDestination) session.createQueue(queueName.asString());
+
+...
+
+// binding arguments
+Map&lt;String, Object&gt; arguments = new HashMap&lt;String, Object&gt;();
+arguments.put("x-filter-jms-selector", "application='app1'");
+
+// create binding
+session.bindQueue(queueName, routingKey, FieldTable.convertToFieldTable(arguments),
+    new AMQShortString("amq.topic"), destination);</pre></div></div><br class="example-break" /></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-Appendix-JMS-Extensions.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix&#160;C.&#160;JMS Extensions&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Appendix&#160;D.&#160;PooledConnectionFactory</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,15 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix&#160;C.&#160;JMS Extensions</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Maven.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions"></a>Appendix&#160;C.&#160;JMS Extensions</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Client-0-8-Appendix-JMS-Extensions-Queue">C.1. Queue Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Client-0-8-
 Appendix-JMS-Extensions-Queue-Creation">C.1.1. Queue creation</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">C.2. Binding Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html#JMS-Client-0-8-Appendix-JMS-Extensions-Binding-Creation">C.2.1. Binding creation</a></span></dt></dl></dd></dl></div><p>This section illustrates using Qpid specific extentions to JMS for the managament of queues,
+  exchanges and bindings.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>It is not recommended that these extensions are generally used. These interfaces are
+      subject to change and will not be supported in this form for AMQP 1.0. Instead, the reader is
+      directed towards the Managment interfaces of the Broker.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Queue"></a>C.1.&#160;Queue Management</h2></div></div></div><p>These extensions allow queues to be created or removed.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Queue-Creation"></a>C.1.1.&#160;Queue creation</h3></div></div></div><p>The following example illustrates the creation of the a LVQ queue from a
+        javax.jms.Session object. Note that this utilises a Qpid specific extension to JMS and
+        involves casting the session object back to its Qpid base-class.</p><div class="example"><a id="d0e2723"></a><p class="title"><strong>Example&#160;C.1.&#160;Creation of an LVQ using the Qpid extension to JMS</strong></p><div class="example-contents"><pre class="programlisting">Map&lt;String,Object&gt; arguments = new HashMap&lt;String, Object&gt;();
+arguments.put("qpid.last_value_queue_key","ISIN");
+AMQDestination amqQueue = (AMQDestination) context.lookup("myqueue");
+((AMQSession&lt;?,?&gt;) session).createQueue(
+        AMQShortString.valueOf(amqQueue.getQueueName()),
+        amqQueue.isAutoDelete(),
+        amqQueue.isDurable(),
+        amqQueue.isExclusive(),
+        arguments);
+</pre></div></div><br class="example-break" /></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-Appendix-Maven.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix&#160;B.&#160;Minimal Maven POM&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;C.2.&#160;Binding Management</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,32 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix&#160;B.&#160;Minimal Maven POM</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Exceptions.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-Maven"></a>Appendix&#160;B.&#160;Minimal Maven POM</h1></div></div></div><p> The following is a minimal Maven POM required to use the Qpid Client. It is suitable for
+    use with the <a class="link" href="JMS-Client-0-8-Examples.html" title="Chapter&#160;4.&#160;Examples">examples</a> included in this
+    book.</p><div class="example"><a id="d0e2696"></a><p class="title"><strong>Example&#160;B.1.&#160;Minimal Maven POM </strong></p><div class="example-contents"><pre class="programlisting">
+
+&lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt;
+  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
+  &lt;groupId&gt;test&lt;/groupId&gt;
+  &lt;artifactId&gt;test&lt;/artifactId&gt;
+  &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt;
+  &lt;dependencies&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.qpid&lt;/groupId&gt;
+      &lt;artifactId&gt;qpid-client&lt;/artifactId&gt;
+      &lt;version&gt;6.0.3-SNAPSHOT&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.slf4j&lt;/groupId&gt;
+      &lt;artifactId&gt;slf4j-log4j12&lt;/artifactId&gt;
+      &lt;version&gt;1.6.4&lt;/version&gt;
+    &lt;/dependency&gt;
+    &lt;dependency&gt;
+      &lt;groupId&gt;org.apache.geronimo.specs&lt;/groupId&gt;
+      &lt;artifactId&gt;geronimo-jms_1.1_spec&lt;/artifactId&gt;
+      &lt;version&gt;1.1.1&lt;/version&gt;
+    &lt;/dependency&gt;
+  &lt;/dependencies&gt;
+&lt;/project&gt;
+
+  </pre></div></div><br class="example-break" /><p>Note: We use the SLF4J Binding for Log4J12 here, but any SLF4J Binding could be used
+    instead. Similarly, Geronimo JMS Spec is used, but any dependency that provides the JMS 1.1
+    specification could be substituted.</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-Appendix-Exceptions.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix&#160;A.&#160;Exceptions&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Appendix&#160;C.&#160;JMS Extensions</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,52 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix&#160;D.&#160;PooledConnectionFactory</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-PooledConnecytionFactory"></a>Appendix&#160;D.&#160;PooledConnectionFactory</h1></div></div></div><p>Qpid client provides <code class="literal">PooledConnectionFactory</code> which is a special
+    implementation of <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a> supporting <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Connection.html" target="_top">Connection</a> pooling. </p><p> The <code class="literal">PooledConnectionFactory</code> caches a predefined number of connections
+    thus saving an application which connects frequently time. The <code class="literal">Connection</code>
+    instance is taken from the pool whenever method
+      <code class="literal">PooledConnectionFactory#createConnection()</code> is invoked and returned into the
+    pool when method <code class="literal">Connection#close()</code> is called.</p><p>A user can configure a maximum allowed number of connections to remain in pool (10 by
+    default) by calling <code class="literal">PooledConnectionFactory#setMaxPoolSize(int)</code>. When number
+    of connections exceeds the value set for maximum pool size,
+      <code class="literal">PooledConnectionFactory</code> starts to work as a normal <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a> and creates
+    a new connection every time method <code class="literal">PooledConnectionFactory#createConnection()</code>
+    is invoked.</p><p>The <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Connection URL</a> is set by invoking
+    method <code class="literal">PooledConnectionFactory#setConnectionURLString(String)</code>.</p><p>A user can specify the maximum time a connection may remain idle in pool by calling
+      <code class="literal">PooledConnectionFactory#setConnectionTimeout(long)</code> passing a value in
+    milliseconds. If connection is not used within the specified interval it is closed
+    automatically. </p><p>This implementation can be useful in <span class="emphasis"><em>Spring JMS</em></span> based applications. An
+    example below demonstrates how to configure <code class="literal">PooledConnectionFactory</code> in the
+    Spring xml configuration. </p><div class="example"><a id="d0e2807"></a><p class="title"><strong>Example&#160;D.1.&#160;Example of configuring <span class="emphasis"><em>PooledConnectionFactory</em></span> in spring xml
+        configuration.</strong></p><div class="example-contents"><pre class="programlisting">
+&lt;bean id="pooledConnectionFactory" class="org.apache.qpid.client.PooledConnectionFactory"&gt;
+  &lt;!-- set maximum number of pool connections to 20--&gt;
+  &lt;property name="maxPoolSize" value="20"&gt;&lt;/property&gt;
+  &lt;!-- set the timeout for connection to remain open in pool without being used --&gt;
+  &lt;property name="connectionTimeout" value="60000"&gt;&lt;/property&gt;
+  &lt;!-- set connection URL as String --&gt;
+  &lt;property name="connectionURLString" value="amqp://guest:guest@clientid/default?brokerlist='tcp://localhost:5672?retries='300'&amp;failover='nofailover''&amp;maxprefetch='0'"&gt;&lt;/property&gt;
+&lt;/bean&gt;</pre></div></div><p><br class="example-break" />
+  </p><p>
+    <span class="emphasis"><em>PooledConnectionFactory</em></span> spring bean can be configured with such
+      <span class="emphasis"><em>spring-jms</em></span> beans like
+      <span class="emphasis"><em>DefaultMessageListenerContainer</em></span> and <span class="emphasis"><em>JmsTemplate</em></span>. The
+    example below demonstrates how to do that </p><div class="example"><a id="d0e2830"></a><p class="title"><strong>Example&#160;D.2.&#160;Examples of configuring <span class="emphasis"><em>PooledConnectionFactory</em></span> with
+          <span class="emphasis"><em>DefaultMessageListenerContainer</em></span> and
+        <span class="emphasis"><em>JmsTemplate</em></span>.</strong></p><div class="example-contents"><pre class="programlisting">
+&lt;bean id="jmsProducerTemplate" class="org.springframework.jms.core.JmsTemplate"&gt;
+    &lt;!-- set reference to pooledConnectionFactory bean --&gt;
+    &lt;property name="connectionFactory" ref="pooledConnectionFactory"&gt;&lt;/property&gt;
+    &lt;property name="defaultDestination" ref="destination" /&gt;
+&lt;/bean&gt;
+
+&lt;bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"&gt;
+    &lt;!-- set reference to pooledConnectionFactory bean --&gt;
+    &lt;property name="connectionFactory" ref="pooledConnectionFactory"/&gt;
+    &lt;property name="destination" ref="destination"/&gt;
+    &lt;property name="messageListener" ref="messageListener" /&gt;
+&lt;/bean&gt;</pre></div></div><p><br class="example-break" />
+  </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If using <code class="literal">DefaultMessageListenerContainer</code> with
+        <code class="literal">cacheLevel</code> set to <code class="literal">NONE</code> it is important that
+        <code class="literal">maxConcurrentConsumer</code> does not exceed the value of maximum pool size set
+      on <code class="literal">PooledConnectionFactory</code> bean. If this is not the case, once the number
+      of in-use connections reaches the the <span class="emphasis"><em>PooledConnectionFactory#maxPoolSize</em></span>
+      a new connection will be opened for each and every message receipt i.e. a connection per
+      message anti-pattern.</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-Appendix-JMS-Extensions-Binding.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">C.2.&#160;Binding Management&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Appendix&#160;E.&#160;How to bind Qpid destinations and connection factories into Tomcat JNDI</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,123 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix&#160;E.&#160;How to bind Qpid destinations and connection factories into Tomcat JNDI</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;</td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration"></a>Appendix&#160;E.&#160;How to bind Qpid destinations and connection factories into Tomcat JNDI</h1></div></div></div><p>
+      Qpid client destinations and connection factories can be registered in external JNDI containers, for example, Tomcat JNDI implementation.
+  </p><p>
+    <code class="literal">org.apache.qpid.jndi.ObjectFactory</code> implements
+    <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/ObjectFactory.html" target="_top">javax.naming.spi.ObjectFactory</a>
+    allowing it to create instances of <code class="literal">AMQConnectionFactory</code>, <code class="literal">PooledConnectionFactory</code>,
+    <code class="literal">AMQConnection</code>, <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code> in external JNDI container from
+    <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a>s.
+  </p><p>Additionally,
+    <code class="literal">AMQConnectionFactory</code>, <code class="literal">PooledConnectionFactory</code> and <code class="literal">AMQDestination</code> (parent of
+    <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code>) implement
+    <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Referenceable.html" target="_top">javax.naming.Referenceable</a>
+    allowing creation of <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a> objects
+    for binding in external JNDI implementations.
+  </p><p>
+    <code class="literal">org.apache.qpid.jndi.ObjectFactory</code> allows the creation of:
+    </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+          an instance of <code class="literal">ConnectionFactory</code> from a <code class="literal">Reference</code> containing reference
+          address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+          <code class="literal">connectionURL</code> with content set to a
+          <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Connection URL</a>.
+        </p></li><li class="listitem"><p>
+          an instance of <code class="literal">PooledConnectionFactory</code> from a <code class="literal">Reference</code> containing reference
+          address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+          <code class="literal">connectionURL</code> with content set to a
+          <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Connection URL</a>.
+        </p></li><li class="listitem"><p>
+          an instance of <code class="literal">AMQConnection</code> from a <code class="literal">Reference</code> containing reference
+          address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+          <code class="literal">connectionURL</code> with content set to a
+          <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter&#160;7.&#160;Connection URLs">Connection URL</a>.
+        </p></li><li class="listitem"><p>
+          an instance of <code class="literal">AMQQueue</code> from a <code class="literal">Reference</code> containing reference
+          address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+          <code class="literal">address</code> with content set to either <a class="link" href="/releases/qpid-0.32/programming/book/" target="_top">Address</a> or
+          <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter&#160;8.&#160;Binding URL">Binding URL</a>.
+        </p></li><li class="listitem"><p>
+          an instance of <code class="literal">AMQTopic</code> from a <code class="literal">Reference</code> containing reference
+          address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+          <code class="literal">address</code> with content set to either <a class="link" href="/releases/qpid-0.32/programming/book/" target="_top">Address</a> or
+          <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter&#160;8.&#160;Binding URL">Binding URL</a>.
+        </p></li></ul></div><p>
+    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+        For  <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code> prefix <code class="literal">BURL:</code> need
+        to be specified for <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter&#160;8.&#160;Binding URL">Binding URL</a>. Otherwise, client will try
+        to parse content using <a class="link" href="/releases/qpid-0.32/programming/book/" target="_top">Address</a> format.
+      </p></div><p>
+  </p><p>An example below demonstrates how to create JNDI resources in the Tomcat container using Resource declarations in context.xml
+    (A Tomcat specific web application configuration file usually added into war under /META-INF/context.xml).
+  </p><div class="example"><a id="d0e3045"></a><p class="title"><strong>Example&#160;E.1.&#160;An example of Tomcat context.xml declaring Qpid JNDI resources</strong></p><div class="example-contents"><pre class="programlisting">
+&lt;?xml version='1.0' encoding='utf-8'?&gt;
+&lt;!DOCTYPE xml&gt;
+&lt;Context&gt;
+
+  &lt;Resource name="jms/connectionFactory" auth="Container"
+            type="org.apache.qpid.client.AMQConnectionFactory"
+            factory="org.apache.qpid.jndi.ObjectFactory"
+            connectionURL="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"/&gt;
+
+  &lt;Resource name="jms/pooledConnectionFactory" auth="Container"
+            type="org.apache.qpid.client.PooledConnectionFactory"
+            factory="org.apache.qpid.jndi.ObjectFactory"
+            connectionURL="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"
+            maxPoolSize="20" connectionTimeout="60000"/&gt;
+
+  &lt;Resource name="jms/queue" auth="Container"
+            type="org.apache.qpid.client.AMQQueue"
+            factory="org.apache.qpid.jndi.ObjectFactory"
+            address="BURL:direct://amq.direct//myQueue?durable='true'"/&gt;
+
+  &lt;Resource name="jms/topic" auth="Container"
+            type="org.apache.qpid.client.AMQTopic"
+            factory="org.apache.qpid.client.AMQConnectionFactory"
+            address="BURL:topic://amq.topic//myTopic?routingkey='myTopic'"/&gt;
+
+&lt;/Context&gt;</pre></div></div><br class="example-break" /><p>In the example above <code class="literal">AMQConnectionFactory</code> would be registered under JNDI name "jms/connectionFactory",
+    <code class="literal">PooledConnectionFactory</code> would be registered under JNDI name "jms/pooledConnectionFactory",
+    <code class="literal">Queue</code> "myQueue" would be registered under JNDI name "jms/queue" and JMS <code class="literal">Topic</code>
+   destination "myTopic" would be registered under JNDI name "jms/topic". (All resources will be bound under "java:comp/env").
+    On declaration of <code class="literal">PooledConnectionFactory</code> optional maxPoolSize and connectionTimeout are set to
+    20 and 60000 milliseconds accordingly.
+  </p><p>
+    The client application can find the resources declared in Tomcat context.xml using the code below:
+  </p><div class="example"><a id="d0e3069"></a><p class="title"><strong>Example&#160;E.2.&#160;An example of JNDI lookup for Qpid resources registered in Tomcat JNDI</strong></p><div class="example-contents"><pre class="programlisting">
+    Context context = new InitialContext();
+    Context environmentContext = (Context)context.lookup("java:comp/env");
+    ...
+    ConnectionFactory connectionFactory = (ConnectionFactory) environmentContext.lookup("jms/connectionFactory");
+    ...
+    Queue queue = (Queue)environmentContext.lookup("jms/queue");
+    ...
+    Topic topic = (Topic)environmentContext.lookup("jms/topic");
+    ...</pre></div></div><br class="example-break" /><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+      In order to support backward compatibility <code class="literal">AMQConnectionFactory</code> continues to implement
+      <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/ObjectFactory.html" target="_top">javax.naming.spi.ObjectFactory</a>
+      and can be used to instantiate JNDI resources from
+      <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a>s.
+      However, its method <code class="literal">getObjectInstance</code> is marked as <code class="literal">Deprecated</code> and will be
+      removed in future version of client. For backward compatibility, Qpid JNDI resources can be declared using fully
+      qualified class names as addresses. That will became unsupported in future version as well.
+      An example of Tomcat context.xml with declarations of JNDI resources using deprecated factory and addresses is provided below.
+  </p><div class="example"><a id="d0e3092"></a><p class="title"><strong>Example&#160;E.3.&#160;An example of Tomcat context.xml declaring Qpid JNDI resources using deprecated <code class="literal">ObjectFactory</code> and deprecated addresses</strong></p><div class="example-contents"><pre class="programlisting">
+&lt;?xml version='1.0' encoding='utf-8'?&gt;
+&lt;!DOCTYPE xml&gt;
+&lt;Context&gt;
+
+  &lt;Resource name="jms/queue" auth="Container"
+            type="org.apache.qpid.client.AMQQueue"
+            factory="org.apache.qpid.client.AMQConnectionFactory"
+            org.apache.qpid.client.AMQQueue="direct://amq.direct//myDurableQueue?durable='true'"/&gt;
+
+  &lt;Resource name="jms/topic" auth="Container"
+            type="org.apache.qpid.client.AMQTopic"
+            factory="org.apache.qpid.client.AMQConnectionFactory"
+            org.apache.qpid.client.AMQTopic="topic://amq.topic//myTopic?routingkey='myTopic'"/&gt;
+
+  &lt;Resource name="jms/connectionFactory" auth="Container"
+            type="org.apache.qpid.client.AMQConnectionFactory"
+            factory="org.apache.qpid.client.AMQConnectionFactory"
+            org.apache.qpid.client.AMQConnectionFactory="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"/&gt;
+
+&lt;/Context&gt;</pre></div></div><p><br class="example-break" />
+    </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-Appendix-PooledConnecytionFactory.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;</td></tr><tr><td align="left" valign="top" width="40%">Appendix&#160;D.&#160;PooledConnectionFactory&#160;</td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,75 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;8.&#160;Binding URL</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Connection-URL.html">Prev</a>&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Binding-URL"></a>Chapter&#160;8.&#160;Binding URL</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Examples">8.1. Binding URL Examples</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Queues">8.1.1. Binding URLs for declaring of JMS
  Queues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Topics">8.1.2. Binding URLs for declaring of JMS Topics</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Topics-Wildcards">8.1.3. Wildcard characters in routing keys for topic destinations</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Extra-Examples">8.1.4. More Examples</a></span></dt></dl></dd></dl></div><p> The <span class="emphasis"><em>Binding URL</em></span> syntax for addressing<a class="footnote" href="#ftn.d0e1519" id="d0e1519"><sup class="footnote">[4]</sup></a>. It allows the specification of the bindings between a queue and an exchange, queue
+    and exchange creation arguments and some ancillary options.</p><p> The format for a <span class="emphasis"><em>Binding URL</em></span> is provided below </p><pre class="screen">
+&lt;Exchange Class&gt;://&lt;Exchange Name&gt;/[&lt;Destination&gt;]/[&lt;Queue&gt;][?&lt;option&gt;='&lt;value&gt;'[&amp;&lt;option&gt;='&lt;value&gt;']]
+    </pre><p> where </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>Exchange Class</em></span>, specifies the type of the exchange, for example,
+            <span class="emphasis"><em>direct</em></span>,<span class="emphasis"><em>topic</em></span>,<span class="emphasis"><em>fanout</em></span>, etc.
+        </p></li><li class="listitem"><p><span class="emphasis"><em>Exchange Name</em></span>, specifies the name of the exchange, for example,
+            <span class="emphasis"><em>amq.direct</em></span>,<span class="emphasis"><em>amq.topic</em></span>, etc. </p></li><li class="listitem"><p><span class="emphasis"><em>Destination</em></span>, is an optional part of <span class="emphasis"><em>Binding
+            URL</em></span>. It can be used to specify a routing key with the non direct exchanges if
+          an option <span class="emphasis"><em>routingkey</em></span> is not specified. If both
+            <span class="emphasis"><em>Destination</em></span> and option <span class="emphasis"><em>routingkey</em></span> are
+          specified, then option <span class="emphasis"><em>routingkey</em></span> has precedence. </p></li><li class="listitem"><p><span class="emphasis"><em>Queue</em></span>, is an optional part of <span class="emphasis"><em>Binding URL</em></span> to
+          specify a queue name for JMS queue destination. It is ignored in JMS topic destinations.
+          Queue names may consist of any mixture of digits, letters, and underscores </p></li><li class="listitem"><p><span class="emphasis"><em>Options</em></span>, key-value pairs separated by '=' character specifying
+          queue and exchange creation arguments, routing key, client behaviour, etc. </p></li></ul></div><p>
+  </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Binding URL option quoting</h3><p>Take care with the quoting surrounding option values. Each option value
+        <span class="emphasis"><em>must</em></span> be surrounded with single quotes ('). </p></div><p> The following <span class="emphasis"><em>Binding URL</em></span> options are currently defined: </p><div class="table"><a id="d0e1607"></a><p class="title"><strong>Table&#160;8.1.&#160;Binding URL options </strong></p><div class="table-contents"><table border="1" summary="Binding URL options " width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Option</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><p>durable</p></td><td><p>boolean </p></td><td><p>Queue durability flag. If it is set to <span class="emphasis"><em>true</em></span>, a durable
+                queue is requested to create. The durable queue should be stored on the Broker and
+                remained there after Broker restarts until it is explicitly deleted. This option has
+                no meaning for JMS topic destinations, as by nature a topic destination only exists
+                when a subscriber is connected. If durability is required for topic destinations,
+                the durable subscription should be created.</p></td></tr><tr><td><p>exclusive</p></td><td><p>boolean </p></td><td><p>Queue exclusivity flag. The client cannot use a queue that was declared as
+                exclusive by another still-open connection.</p></td></tr><tr><td><p>autodelete</p></td><td><p>boolean </p></td><td><p>Queue auto-deletion flag. If it is set to <span class="emphasis"><em>true</em></span> on
+                queue creation, the queue is deleted if there are no remaining
+              subscribers.</p></td></tr><tr><td><p>exchangeautodelete</p></td><td><p>boolean </p></td><td><p>Exchange auto-deletion flag.</p></td></tr><tr><td><p>exchangedurable</p></td><td><p>boolean </p></td><td><p>Exchange durability flag. If it is set to <span class="emphasis"><em>true</em></span> when
+                creating a new exchange, the exchange will be marked as durable. Durable exchanges
+                should remain active after Broker restarts. Non-durable exchanges are deleted on
+                following Broker restart.</p></td></tr><tr><td><p>routingkey</p></td><td><p>string </p></td><td>
+              <p> Defines the value of the binding key to bind a queue to the exchange. It is
+                always required to specify for JMS topic destinations. If routing key option is not
+                set in <span class="emphasis"><em>Binding URL</em></span> and direct exchange class is specified, the
+                queue name is used as a routing key. <span class="emphasis"><em>MessagePublisher</em></span> uses
+                routing key to publish messages onto exchange. </p>
+            </td></tr><tr><td><p>browse</p></td><td><p>boolean </p></td><td><p>If set to <span class="emphasis"><em>true</em></span> on a destination for a message
+                consumer, such consumer can only read messages on the queue but cannot consume them.
+                The consumer behaves like a queue browser in this case.</p></td></tr><tr><td><a id="JMS-Client-0-8-Binding-URL-Options-RejectBehaviour"></a><p>rejectbehaviour</p></td><td><p>string </p></td><td><p>Defines the reject behaviour for the re-delivered messages. If set to
+                'SERVER' the client delegates the requeue/DLQ decision to the server. If this option
+                is not specified, the messages won't be moved to the DLQ (or dropped) when delivery
+                count exceeds the maximum. </p></td></tr></tbody></table></div></div><p><br class="table-break" />
+  </p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-Binding-URL-Examples"></a>8.1.&#160;Binding URL Examples</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-JMS-Queues"></a>8.1.1.&#160;Binding URLs for declaring of JMS Queues</h3></div></div></div><p>The Qpid client Binding URLs for JMS queue destinations can be declared using direct
+        exchange (Mostly it is a pre-defined exchange with a name "amq.direct". Also, custom direct
+        exchanges can be used.): </p><pre class="screen">
+direct://amq.direct//&lt;Queue Name&gt;
+         </pre><p>
+      </p><p>The Binding URLs for destinations created with calls to
+          <span class="emphasis"><em>Session.createQueue(String)</em></span> can be expressed as </p><pre class="screen">
+direct://amq.direct//&lt;Queue Name&gt;?durable='true'
+         </pre><p> The durability flag is set to <span class="emphasis"><em>true</em></span> in such destinations. </p><div class="example"><a id="d0e1743"></a><p class="title"><strong>Example&#160;8.1.&#160;Binding URL examples for JMS queues</strong></p><div class="example-contents"><pre class="screen">
+direct://amq.direct//myNonDurableQueue
+direct://amq.direct//myDurableQueue?durable='true'
+direct://amq.direct//myAnotherQueue?durable='true'&amp;routingkey='myqueue'
+direct://amq.direct//myQueue?durable='true'&amp;routingkey='myqueue'&amp;rejectbehaviour='server'
+direct://custom.direct//yetAnotherQueue
+        </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-Binding-URL-JMS-Topics"></a>8.1.2.&#160;Binding URLs for declaring of JMS Topics</h3></div></div></div><p>The Binding URLs for JMS queue destinations can be declared using topic exchange (A
+        pre-defined exchange having name "amq.topic" is used mainly. However, custom topic exchanges
+        can be used as well): </p><pre class="screen">
+topic://amq.topic//&lt;Queue name&gt;?routingkey='&lt;Topic Name&gt;'&amp;exclusive='true'&amp;autodelete='true'
+         </pre><p>
+      </p><p>The Binding URLs for a topic destination created with calls to
+          <span class="emphasis"><em>Session.createTopic("hello")</em></span> is provided below: </p><div class="example"><a id="d0e1761"></a><p class="title"><strong>Example&#160;8.2.&#160;Binding URL examples for JMS topics</strong></p><div class="example-contents"><pre class="screen">
+topic://amq.topic/hello/tmp_127_0_0_1_36973_1?routingkey='hello'&amp;exclusive='true'&amp;autodelete='true'
+        </pre></div></div><p><br class="example-break" />
+      </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-Topics-Wildcards"></a>8.1.3.&#160;Wildcard characters in routing keys for topic destinations</h3></div></div></div><p> AMQP exchanges of class <span class="emphasis"><em>topic</em></span> can route messages to the queues
+        using special matches containing wildcard characters (a "#" matches one or more words, a "*"
+        matches a single word). The routing keys words are separated with a "." delimiter to
+        distinguish words for matching. Thus, if a consumer application specifies a routing key in
+        the destination like "usa.#", it should receive all the messages matching to that routing
+        key. For example, "usa.boston", "usa.new-york", etc. </p><p> The examples of the <span class="emphasis"><em>Binding URLs</em></span> having routing keys with
+        wildcards characters are provided below: </p><pre class="screen">
+topic://amq.topic?routingkey='stocks.#'
+topic://amq.topic?routingkey='stocks.*.ibm'
+topic://amq.topic?routingkey='stocks.nyse.ibm'
+        </pre><p>
+      </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-Extra-Examples"></a>8.1.4.&#160;More Examples</h3></div></div></div><div class="table"><a id="d0e1786"></a><p class="title"><strong>Table&#160;8.2.&#160;Binding URL examples</strong></p><div class="table-contents"><table border="1" summary="Binding URL examples"><colgroup><col /><col /></colgroup><thead><tr><th>Binding URL</th><th>Description</th></tr></thead><tbody><tr><td><p>fanout://amq.fanout//myQueue</p></td><td><p>Binding URL binding queue "myQueue" to predefined "amq.fanout" exchange
+                  of class "fanout"</p></td></tr><tr><td><p>topic://custom.topic//anotherQueue?routingkey='aq'</p></td><td><p>Binding URL binding queue "anotherQueue" to the exchange with name
+                  "custom.topic" of class "topic" using binding key "aq".</p></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e1519"><p><a class="para" href="#d0e1519"><sup class="para">[4] </sup></a>The client also supports the ADDR format. This is documented in <a class="link" href="/releases/qpid-0.32/programming/book/" target="_top">Programming in Apache Qpid</a>.</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-Connection-URL.html">Prev</a>&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;7.&#160;Connection URLs&#160;</td><td align="center" wid
 th="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;9.&#160;System Properties</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,72 @@
+<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" style="clear: both"><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.d0e384" id="d0e384"><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="link" 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 conditions 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="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/TransactionRolledBackException.html" target="_top">TransactionRolledBackException</a> from the <a class="link" 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="link" 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="link" 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="link" 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="d0e439"></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
+            <code class="literal">nofailover</code> as in the example below </p><div class="example"><a id="d0e453"></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="link" 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="link" 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="d0e489"></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" style="list-style-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="d0e505"></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="d0e521"></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="d0e537"></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?key_store='/path/to/app1_client_cert.ks'&amp;key_store_password='secret''&amp;ssl='true'
+            </pre></div></div><br class="example-break" /><p>Alternatively we can use <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-ClientCertPath"><code class="literal">client_cert_path</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-ClientCertPrivKeyPath"><code class="literal">client_cert_priv_key_ath</code></a> to specify a path to a certificate file (in PEM or DER format)
+            and the private key information (again in either PEM or DER format) respectively.</p><div class="example"><a id="d0e552"></a><p class="title"><strong>Example&#160;5.7.&#160;Connection URL configured for SSL - SSL client-auth (2)</strong></p><div class="example-contents"><pre class="screen">
+amqp://guest:guest@clientid/?brokerlist='localhost:5671?client_cert_path='/path/to/app1_client.crt'&amp;client_cert_priv_key_path='/path/to/app1_client.key''&amp;ssl='true'
+            </pre></div></div><br class="example-break" /></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-MessageCompression"></a>5.3.4.&#160;Message Compression</h3></div></div></div><p>The client has the ability to transparently compress message payloads on outgoing
+        messages and decompress them on incoming messages. In some environments and with some
+        payloads this feature might offer performance improvements by reducing the number of bytes
+        transmitted over the connection.</p><p>In order to make use of message compression, the Broker must enable the feature too,
+        otherwise the compression options will be ignored.</p><p> To enable message compression on the client use the connection url property <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-CompressMessages"><code class="literal">compressMessages</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-ConnectionCompressMessages"><code class="literal">qpid.connection_compress_messages</code></a>)</p><p>It is also possible to control the threshold at which the client will begin to compress
+        message payloads. See connection url property <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-MessageCompressionThresholdSize"><code class="literal">messageCompressionThresholdSize</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-MessageCompressionThresholdSize"><code class="literal">qpid.message_compression_threshold_size</code></a>)</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The Broker, where necessary, takes care of compressing/decompressing messages of the
+          fly so that clients using message compression can exchange messages with clients not
+          supporting message compression transparently, without application intervention.</p></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e384"><p><a class="para" href="#d0e384"><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="JMS-Client-Book.html">Home</a></td><td a
 lign="right" valign="top" width="40%">&#160;5.4.&#160;Session</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,8 @@
+<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" style="clear: both"><a id="JMS-Client-0-8-Client-Understanding-ConnectionFactory"></a>5.2.&#160;ConnectionFactory</h2></div></div></div><p>A <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a>
+      allows an application to create a <a class="link" 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="link" href="http://docs.oracle.com/javaee/6/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="link" href="http://docs.oracle.com/javaee/6/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>The Qpid JMS client also provides an alternate connection factory implementation providing a
+      connection pool. This can be useful when utilsing frameworks such as Spring.
+      <a class="xref" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html" title="Appendix&#160;D.&#160;PooledConnectionFactory">Appendix&#160;D, <em>PooledConnectionFactory</em></a>.</p><div class="figure"><a id="d0e369"></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" /><p>Note that the Qpid Broker does not present a JNDI interface to the application.</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.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 ali
 gn="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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.3.&#160;Connection</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Destinations.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,6 @@
+<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" style="clear: both"><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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;Chapter&#160;6.&#160;JNDI Properties Format</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html.in?rev=1739899&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.2/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html.in Tue Apr 19 11:16:16 2016
@@ -0,0 +1,28 @@
+<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" style="clear: both"><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="link" 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 declare, queue declare and bind side effects 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>, <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> and <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-BindQueues"><code class="literal">qpid.bind_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="link" 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="link" 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="link" href="../../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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.7.&#160;Destinations</td></tr></table></div></div>
\ No newline at end of file




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