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/02/25 16:09:11 UTC

svn commit: r1732318 [11/14] - in /qpid/site/input: ./ releases/ releases/qpid-java-6.0.1/ releases/qpid-java-6.0.1/java-broker/ releases/qpid-java-6.0.1/java-broker/book/ releases/qpid-java-6.0.1/java-broker/book/css/ releases/qpid-java-6.0.1/java-bro...

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,47 @@
+<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" style="clear: both"><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="link" href="../../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 synchronous publish is not exlicitly enabled,
+      <a class="link" 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="link" 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, or synchronous publishing must be enabled using either the
+      <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-SyncPublish">system property</a> or the
+      <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-SyncPublish">connection URL
+      option</a>.</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="link" 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="link" 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>If synchronous publishing has been enabled, and a mandatory message is returned, the
+      <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/MessageProducer.html#send(javax.jms.Message)" target="_top">MessageProducer#send()</a> method will throw a JMSException.
+      </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>If this the mandatory flag is not set, the Broker will treat <a class="link" href="../../java-broker/book/Java-Broker-Concepts-Exchanges.html#Java-Broker-Concepts-Exchanges-UnroutableMessage" target="_top">the messages as unroutable</a>.</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="link" href="../../java-broker/book/Java-Broker-Runtime-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="link" 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="link" 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="link" 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>If synchronous publishing has been enabled, and an immediate message is returned, the
+      <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/MessageProducer.html#send(javax.jms.Message)" target="_top">MessageProducer#send()</a> method will throw a JMSException.
+      </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="link" href="../../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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.6.&#160;MessageConsumer</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,72 @@
+<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" style="clear: both"><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="link" 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="link" 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 acknowledgement 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><p>
+          Settings maxprefetch to 0 ( either globally via JVM 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>
+          or on a connection level as a connection 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> )
+          switches off the pre-fetching functionality. With maxprefetch=0 messages are fetched one by one without caching on the client.
+      </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p> Setting maxprefetch to 0 is recommended in Spring-JMS based applications whenever
+            <span class="emphasis"><em>DefaultMassgeListenerContainer</em></span> is configured with a
+            <span class="emphasis"><em>CachingConnectionFactory</em></span> that has <span class="emphasis"><em>cacheLevel</em></span>
+          set to either <span class="emphasis"><em>CACHE_CONSUMER</em></span> or <span class="emphasis"><em>CACHE_SESSION</em></span>.
+          In these configurations the Qpid JMS <span class="emphasis"><em>Session</em></span> objects remain open in
+          Spring's dynamically scaled pools. If maxprefetch is not 0, any prefetched messages held
+          by the <span class="emphasis"><em>Session</em></span> and any new ones subsequently sent to it (in the
+          background until prefetch is reached) will be effectively by 'stuck' (unavailable to the
+          application) until Spring decides to utilise the cached Session again. This can give the
+          impression that message delivery has stopped even though messages remain of the queue.
+          Setting maxprefetch to 0 prevents this problem from occurring.</p><p> If using maxprefetch &gt; 0 <span class="emphasis"><em>SingleConnectionFactory</em></span> must be
+          used. SingleConnectionFactory does not have the same session/consumer caching behaviour so
+          does not exhibit the same problem. </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="link" 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="link" 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="link" 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='&lt;queue name&gt;'&amp;durable='true'. </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="link" 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='&lt;topic name&gt;'.</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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%">&#160;5.5.&#160;MessageProducer</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,7 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;5.&#160;Understanding the Qpid JMS client</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Examples-PubSub.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-Client-Understanding-ConnectionFactory.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-Client-Understanding"></a>Chapter&#160;5.&#160;Understanding the Qpid JMS client</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-Client-Understanding.html#JMS-Client-0-8-Client-Understanding-Overview">5.1. Overview</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Co
 nnectionFactory.html">5.2. ConnectionFactory</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Connection.html">5.3. Connection</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Failover">5.3.1. Failover</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Heartbeating">5.3.2. Heartbeating</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-SSL">5.3.3. SSL</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-MessageCompression">5.3.4. Message Compression</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.ht
 ml">5.4. Session</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-Prefecth">5.4.1. Prefetch</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-TemporaryQueues">5.4.2. TemporaryQueues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-CreateQueue">5.4.3. CreateQueue</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-CreateTopic">5.4.4. CreateTopic</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">5.5. MessageProducer</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-C
 lient-Understanding-MessageProducer-MandatoryMessage">5.5.1. Mandatory Messages</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-CloseWhenNoRoute">5.5.2. Close When No Route</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-ImmediateMessage">5.5.3. Immediate Messages</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-FlowControl">5.5.4. Flow Control</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html">5.6. MessageConsumer</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html#JMS-Client-0-8-Client-Understanding-MessageConsumer-ConsumerSide
 Effect">5.6.1. Consumers have Exchange/Queue Declaration and Binding Side Effect</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html#JMS-Client-0-8-Client-Understanding-MessageConsumer-TopicSubscriptions">5.6.2. Topic Subscriptions</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html#JMS-Client-0-8-Client-Understanding-MessageConsumer-MaximumDeliveryCount">5.6.3. Maximum Delivery Count</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Destinations.html">5.7. Destinations</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-Client-Understanding-Overview"></a>5.1.&#160;Overview</h2></div></div></div><p>The Qpid JMS client provides a JMS 1.1 compliant implementation. As such, the primary
+      source of documentation is the <a class="link" href="http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/" target="_top">JMS specification</a> and the
+        <a class="link" href="http://docs.oracle.com/javaee/6/api//javax/jms/package-summary.html" target="_top">JMS javadocs</a>. This
+      documentation assumes the reader has familiarity with these resources.</p><p>The remainder of this section describes how the Qpid JMS client behaves and the effect(s)
+      making JMS method calls will have on the Broker. </p><p>There areas where the Qpid JMS client provides features beyond those required for JMS
+      compliance. These are described in the sections that follow.</p><p>These sections are also used to bring out differences that may surprise those moving from
+      JMS implementations provided by other vendors.</p><div class="figure"><a id="d0e327"></a><p class="title"><strong>Figure&#160;5.1.&#160;Architecture of a typical JMS application</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="Architecture of a typical JMS application" src="images/QpidJmsOverview.png" /></div></div></div><br class="figure-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-Examples-PubSub.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-Client-Understanding-ConnectionFactory.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">4.2.&#160;Publish/subscribe example&#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.2.
 &#160;ConnectionFactory</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Connection-URL.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,93 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;7.&#160;Connection URLs</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JNDI-Properties-Format-Destination.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-Binding-URL.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-Connection-URL"></a>Chapter&#160;7.&#160;Connection URLs</h1></div></div></div><p> In JNDI properties, a Connection URL specifies options for a connection. The format for a
+		Connection URL is: </p><pre class="programlisting">amqp://[&lt;user&gt;:&lt;pass&gt;@][&lt;clientid&gt;]/[&lt;virtualhost&gt;][?&lt;option&gt;='&lt;value&gt;'[&amp;&lt;option&gt;='&lt;value&gt;']*]</pre><p> For instance, the following Connection URL specifies a user name, a password, a client
+		ID, a virtual host ("test"), a broker list with a single broker: a TCP host with the host
+		name <span class="quote">&#8220;<span class="quote">localhost</span>&#8221;</span> using port 5672: </p><pre class="programlisting">amqp://username:password@clientid/test?brokerlist='tcp://localhost:5672'</pre><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Connection 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 Connection URL supports the following options:</p><div class="table"><a id="JMS-Client-0-8-Connection-URL-Options"></a><p class="title"><strong>Table&#160;7.1.&#160;Connection URL Options</strong></p><div class="table-contents"><table border="1" summary="Connection 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><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist"></a> brokerlist </td><td> see below </td><td> List of one or more broker addresses. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-Maxprefetch"></a> maxprefetch </td><td> integer </td><td>
+						<p> The maximum number of pre-fetched messages per Session. If not
+							specified, default value of 500 is used. </p>
+						<p> Note: You can also set the default per-session prefetch value on a
+							client-wide basis by configuring the client using <a class="link" href="JMS-Client-0-8-System-Properties.html" title="Chapter&#160;9.&#160;System Properties">Java system
+								properties.</a>
+						</p>
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-SyncPublish"></a> sync_publish </td><td> String </td><td>
+					  <p>
+					    If the value is 'all' the client library waits for confirmation
+                        before returning from a send(), and if the send is unsuccessful the
+                        send() will throw a JMSException. (Note this option requires an
+                        extension to the AMQP protocol and will only work against a broker of
+                        the 0.32 release or later.)
+					  </p>
+					</td></tr><tr><td> sync_ack </td><td> Boolean </td><td> A sync command is sent after every acknowledgement to guarantee that it
+						has been received. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-UseLegacyMap"></a> use_legacy_map_msg_format </td><td> Boolean </td><td> If you are using JMS Map messages and deploying a new client with any
+						JMS client older than 0.8 release, you must set this to true to ensure the
+						older clients can understand the map message encoding. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-Failover"></a> failover </td><td> {'singlebroker' | 'roundrobin'
+						, | 'nofailover' |
+						'&lt;class&gt;'} </td><td>
+						<p> This option controls failover behaviour. The method
+								<code class="literal">singlebroker</code> uses only the first broker in the
+							list, <code class="literal">roundrobin</code> will try each broker given in the
+							broker list until a connection is established,
+								<code class="literal">nofailover</code>
+							disables all retry and failover logic. Any other value is interpreted as
+							a classname which must implement the
+								<code class="literal">org.apache.qpid.jms.failover.FailoverMethod</code>
+							interface. </p>
+						<p> The broker list options <code class="literal">retries</code> and
+								<code class="literal">connectdelay</code> (described below) determine the
+							number of times a connection to a broker will be retried and the
+							length of time to wait between successive connection attempts before
+							moving on to the next broker in the list. The failover option
+								<code class="literal">cyclecount</code> controls the number of times to loop
+							through the list of available brokers before finally giving up. </p>
+						<p> Defaults to <code class="literal">roundrobin</code> if the brokerlist contains
+							multiple brokers, or <code class="literal">singlebroker</code> otherwise. </p>
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-CloseWhenNoRoute"></a> closeWhenNoRoute </td><td> boolean </td><td>
+						<p>See <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-CloseWhenNoRoute" title="5.5.2.&#160;Close When No Route">Section&#160;5.5.2, &#8220;Close When No Route&#8221;</a>.</p>
+					</td></tr><tr><td> ssl </td><td> boolean </td><td>
+						<p> If <code class="literal">ssl='true'</code>, use SSL for all broker connections.
+							Overrides any per-broker settings in the brokerlist (see below) entries.
+							If not specified, the brokerlist entry for each given broker is used to
+							determine whether SSL is used. </p>
+						<p> Introduced in version 0.22. </p>
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-CompressMessages"></a>compressMessages</td><td>Boolean</td><td><p>Controls whether the client will compress messages before they they are sent.</p></td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-ConnectionOptions-MessageCompressionThresholdSize"></a>messageCompressionThresholdSize</td><td>Integer</td><td><p>The payload size beyond which the client will start to compress message payloads.</p></td></tr></tbody></table></div></div><br class="table-break" /><p> Broker lists are specified using a URL in this format: </p><pre class="programlisting">brokerlist='&lt;transport&gt;://&lt;host&gt;[:&lt;port&gt;][?&lt;param&gt;='&lt;value&gt;'[&amp;&lt;param&gt;='&lt;value&gt;']*]'</pre><p> For instance, this is a typical broker list: </p><pre class="programlisting">brokerlist='tcp://localhost:5672'</pre><p> A broker list can contain more than one broker address separated by semicolons (;). If so, the connectio
 n is made to
+		the first broker in the list that is available.
+		</p><div class="example"><a id="d0e1321"></a><p class="title"><strong>Example&#160;7.1.&#160;Broker Lists</strong></p><div class="example-contents"><p>A broker list can specify properties to be used when connecting to the broker. This
+			broker list specifies options for configuring heartbeating</p><pre class="programlisting">amqp://guest:guest@test/test?brokerlist='tcp://ip1:5672?heartbeat='5''</pre><p>This broker list specifies some SSL options</p><pre class="programlisting">amqp://guest:guest@test/test?brokerlist='tcp://ip1:5672?ssl='true'&amp;ssl_cert_alias='cert1''</pre><p> This broker list specifies two brokers using the connectdelay and retries broker
+			options. It also illustrates the failover connection URL property. </p><pre class="programlisting">amqp://guest:guest@/test?failover='roundrobin?cyclecount='2''
+	  &amp;brokerlist='tcp://ip1:5672?retries='5'&amp;connectdelay='2000';tcp://ip2:5672?retries='5'&amp;connectdelay='2000''
+	  </pre></div></div><br class="example-break" /><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Broker option quoting</h3><p>Take care with the quoting surrounding broker option values. Each broker option value
+				<span class="emphasis"><em>must</em></span> be surrounded with their own single quotes ('). This is in
+			addition to the quotes surround the connection option value.</p></div><p>The following broker list options are supported.</p><div class="table"><a id="d0e1346"></a><p class="title"><strong>Table&#160;7.2.&#160;Broker List Options</strong></p><div class="table-contents"><table border="1" summary="Broker List Options" width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th> Option </th><th> Type </th><th> Description </th></tr></thead><tbody><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-Heartbeat"></a> heartbeat </td><td> Long </td><td> Frequency of heartbeat messages (in seconds). A value of 0 disables
+						heartbeating. <p>For compatibility with old client configuration, option
+								<code class="varname">idle_timeout</code> (in milliseconds) is also
+							supported.</p>
+					</td></tr><tr><td> ssl </td><td> Boolean </td><td>
+						<p>If <code class="literal">ssl='true'</code>, the JMS client will encrypt the
+							connection to this broker using SSL.</p>
+						<p>This can also be set/overridden for all brokers using the Connection
+							URL option <code class="literal">ssl</code>.</p>
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStore"></a> trust_store </td><td> String </td><td> Path to trust store. Used when using SSL and the Broker's certificate is
+						signed by a private-CA (or a self-signed certificate),</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStorePassword"></a> trust_store_password </td><td> String </td><td> Trust store password. Password used to open the trust store. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-TrustedCertsPath"></a> trusted_certs_path </td><td> String </td><td> Path to a file containing trusted peer certificates(in PEM or DER format).
+                                                Used when supplying the trust information for TLS client auth using PEM/DER
+                                                files rather than a Java KeyStore. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStore"></a> key_store </td><td> String </td><td> Path to key store . Used when using SSL and the client must authenticate
+						using client-auth. If the store contains more than one certificate,
+							<code class="literal">ssl_cert_alias</code> must be used to identify the
+						certificate that the client must present to the Broker.</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStorePassword"></a> key_store_password </td><td> String </td><td> Key store password. Password used to open the key store. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-ClientCertPath"></a> client_cert_path </td><td> String </td><td> Path to the client certificate file (in PEM or DER format). Used as an
+                                                alternative to using a Java KeyStore to hold key information
+                                                for TLS client auth. When used, the <code class="literal">client_cert_priv_key_path</code>
+                                                must also be supplied. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-ClientCertPrivKeyPath"></a> client_cert_priv_key_path </td><td> String </td><td> Path to the client certificate private key file (in PEM or DER format).
+                                                Used when supplying the key information for TLS client auth using PEM/DER
+                                                files rather than a Java KeyStore. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-ClientCertsIntermediaryCertPath"></a> client_cert_intermediary_cert_path </td><td> String </td><td> Path to a file containing any intermediary certificates (in PEM or DER format).
+                                                Used when supplying the key information for TLS client auth using PEM/DER
+                                                files rather than a Java KeyStore. Only required where intermediary certificates
+                                                are required in the certificate chain. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-SslCertAlias"></a> ssl_cert_alias </td><td> String </td><td> If multiple certificates are present in the keystore, the alias will be
+						used to extract the correct certificate. </td></tr><tr><td> ssl_verify_hostname </td><td> Boolean </td><td> This option is used for turning on/off hostname verification when using SSL.
+                        It is set to 'true' by default. You can disable verification by setting it to 'false':
+							<code class="literal">ssl_verify_hostname='false'</code>.
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-Retries"></a> retries </td><td> Integer </td><td> The number of times to retry connection to each broker in the broker
+						list. Defaults to 1. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-ConnectDelay"></a> connectdelay </td><td> integer </td><td> Length of time (in milliseconds) to wait before attempting to reconnect.
+						Defaults to 0. </td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-ConnectTimeout"></a> connecttimeout </td><td> integer </td><td> Length of time (in milliseconds) to wait for the socket connection to
+						succeed. A value of 0 represents an infinite timeout, i.e. the connection
+						attempt will block until established or an error occurs. Defaults to 30000.
+					</td></tr><tr><td><a id="JMS-Client-0-8-Connection-URL-BrokerOptions-TcpNoDelay"></a> tcp_nodelay </td><td> Boolean </td><td> If <code class="literal">tcp_nodelay='true'</code>, TCP packet batching is
+						disabled. Defaults to true since Qpid 0.14. </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-JNDI-Properties-Format-Destination.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-Binding-URL.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">6.4.&#160;Destination&#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;8.&#160;Binding URL</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,16 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;2.&#160;Document Scope And Intended Audience</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Introduction.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-JMS-Getting-And-Dependencies.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-Document-Scope-And-Intended-Audience"></a>Chapter&#160;2.&#160;Document Scope And Intended Audience</h1></div></div></div><p> The intended audience of this document is Java developers who are familiar with the JMS
+    specification. Readers are not required to know all the details of AMQP protocols. However, some
+    knowledge of AMQP basic concepts would be advantageous for reading of this document. </p><p> This document only covers the usage of 0-8, 0-9 and 0-9-1 AMQP protocols with Qpid JMS
+    client. The specifications for these protocols are available from the <a class="link" href="http://www.amqp.org" target="_top">AMQP web site</a>. </p><p> The document covers some specific implementation details of JMS connections, sessions,
+    consumers and producers in <a class="xref" href="JMS-Client-0-8-Client-Understanding.html" title="Chapter&#160;5.&#160;Understanding the Qpid JMS client">Chapter&#160;5, <em>Understanding the Qpid JMS client</em></a>. It also
+    demonstrates how to write a simple point to point and simple publish/subscribe application using
+    Qpid JMS Client in <a class="xref" href="JMS-Client-0-8-Examples.html" title="Chapter&#160;4.&#160;Examples">Chapter&#160;4, <em>Examples</em></a>. </p><p>The Qpid JMS Client supports various configuration options which can be set via JVM system
+    properties, connection URLs and JNDI configuration file. The setting of system properties is
+    described in <a class="xref" href="JMS-Client-0-8-System-Properties.html" title="Chapter&#160;9.&#160;System Properties">Chapter&#160;9, <em>System Properties</em></a>. The details of supported
+    options within the connection URLs are given in <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>.
+    The details of Qpid JMS client JNDI properties format is provided in <a class="xref" href="JMS-Client-0-8-JNDI-Properties-Format.html" title="Chapter&#160;6.&#160;JNDI Properties Format">Chapter&#160;6, <em>JNDI Properties Format</em></a>. The Qpid destination URL format is covered
+    in <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>The Qpid JMS Client can be used for writing of JMS vendor neutral messaging applications.
+    However, in some cases it might be required to use specific AMQP features. Thus, the Qpid client
+    provides the extended operation set to invoke those features. </p><p>
+    <a class="xref" href="JMS-Client-0-8-Logging.html" title="Chapter&#160;10.&#160;Logging">Chapter&#160;10, <em>Logging</em></a> provides the details about turning on client logging
+    which can help in debugging of various issues while developing the messaging applications. </p><p>The details about Qpid JMS Client Exceptions are provided in <a class="xref" href="JMS-Client-0-8-Appendix-Exceptions.html" title="Appendix&#160;A.&#160;Exceptions">Appendix&#160;A, <em>Exceptions</em></a></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-Introduction.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-JMS-Getting-And-Dependencies.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;1.&#160;Introduction&#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;3.&#160;Getting the Client And Dependencies</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples-PubSub.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples-PubSub.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples-PubSub.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples-PubSub.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,73 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">4.2.&#160;Publish/subscribe example</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Examples.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;4.&#160;Examples</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding.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-Examples-PubSub"></a>4.2.&#160;Publish/subscribe example</h2></div></div></div><p>In this second example, we illustrate publish/subscribe messaging. Again, we create a
+			JNDI context using a properties file, use the context to lookup a connection factory,
+			create and start a connection, create a session, and lookup a destination (a topic) from
+			the JNDI context. Then we create a producer and two durable subscribers , send a message
+			with the producer. Both subscribers receive the same message.</p><div class="example"><a id="JMS-Client-0-8-Examples-PubSub-Java"></a><p class="title"><strong>Example&#160;4.3.&#160;JMS Example - Publish/subscribe Messaging</strong></p><div class="example-contents"><pre class="programlisting">
+import javax.jms.*;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+import java.util.Properties;
+
+public class StocksExample {
+
+    public StocksExample() {
+    }
+
+    public static void main(String[] args) throws Exception {
+      StocksExample stocks = new StocksExample();
+      stocks.runTest();
+    }
+
+    private void runTest() throws Exception {
+      Properties properties = new Properties();
+      properties.load(this.getClass().getResourceAsStream("stocks.properties"));
+      Context context = new InitialContext(properties);
+
+      ConnectionFactory connectionFactory
+          = (ConnectionFactory) context.lookup("qpidConnectionFactory");
+      Connection connection = connectionFactory.createConnection();
+      connection.start();
+
+      Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
+      Topic priceTopic = (Topic) context.lookup("myprices");                             <a class="co" href="JMS-Client-0-8-Examples-PubSub.html#callout-pubsub-destination" id="pubsub-java-destination"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+
+      MessageConsumer subscriber1 = session.createDurableSubscriber(priceTopic, "sub1"); <a class="co" href="JMS-Client-0-8-Examples-PubSub.html#callout-pubsub-subscribers" id="pubsub-java-subscribers"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a>
+      MessageConsumer subscriber2 = session.createDurableSubscriber(priceTopic, "sub2" /*, "price &gt; 150", false*/ );
+      MessageProducer messageProducer = session.createProducer(priceTopic);
+
+      Message message = session.createMessage();
+      message.setStringProperty("instrument", "IBM");
+      message.setIntProperty("price", 100);
+      messageProducer.send(message);
+      session.commit();
+
+      message = subscriber1.receive(1000);
+      session.commit();
+      System.out.println("Subscriber 1 received : " + message);
+
+      message = subscriber2.receive(1000);
+      session.commit();
+      System.out.println("Subscriber 2 received : " + message);
+
+      session.unsubscribe("sub1");                                                       <a class="co" href="JMS-Client-0-8-Examples-PubSub.html#callout-pubsub-unsubscribe" id="pubsub-java-unsubscribe"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a>
+      session.unsubscribe("sub2");
+      connection.close();
+      context.close();
+    }
+}
+	</pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-pubsub-destination"></a><a href="#pubsub-java-destination"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Looks up a destination for the topic with JNDI name myprices.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-pubsub-subscribers"></a><a href="#pubsub-java-subscribers"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates two durable subscribers, <code class="literal">sub1</code> and
+						<code class="literal">sub2</code>. Durable subscriptions retain messages for the
+					client even when the client is disconnected, until the subscription is
+					unsubscribed. Subscription 2 has a (commented out) message selector argument so
+					you can conveniently experiement with the effect of those. <a class="footnote" href="#ftn.d0e277" id="d0e277"><sup class="footnote">[2]</sup></a></p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-pubsub-unsubscribe"></a><a href="#pubsub-java-unsubscribe"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a> </p></td><td align="left" valign="top"><p>Unsubscribes the two durable subscribers, permanently removing the knowledge
+					of the subscriptions from the system. An application would normally
+						<span class="emphasis"><em>NOT</em></span> do this. The typical use-case for durable
+					subsciption is one where the subscription exists over an extended period of
+					time.</p></td></tr></table></div><p>The contents of the <code class="literal">stocks.properties</code> file are shown below.</p><div class="example"><a id="JMS-Client-0-8-Examples-PubSub-PropertiesFile"></a><p class="title"><strong>Example&#160;4.4.&#160;JMS Example - Publish/subscribe Messaging - JNDI Properties</strong></p><div class="example-contents"><pre class="programlisting">
+java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory
+connectionfactory.qpidConnectionFactory = amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672'
+topic.myprices = prices <a class="co" href="JMS-Client-0-8-Examples-PubSub.html#callout-pubsub-properties-destination" id="pubsub-properties-destination"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+	</pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-pubsub-properties-destination"></a><a href="#pubsub-properties-destination"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Defines a topic for which MessageProducers and/or MessageConsumers send and
+					receive messages. The format of this entry is described in <a class="xref" href="JMS-Client-0-8-JNDI-Properties-Format-Topic.html" title="6.3.&#160;Topic">Section&#160;6.3, &#8220;Topic&#8221;</a>.</p></td></tr></table></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e277"><p><a class="para" href="#d0e277"><sup class="para">[2] </sup></a>Each durable subscription is implemented as a queue on the Broker. See
+								<a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html#JMS-Client-0-8-Client-Understanding-MessageConsumer-TopicSubscriptions" title="5.6.2.&#160;Topic Subscriptions">Section&#160;5.6.2, &#8220;Topic Subscriptions&#8221;</a> for details.</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-Examples.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Examples.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Client-Understanding.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;4.&#160;Examples&#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;5.&#160;Understanding the Qpid JMS client</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Examples.html.in Thu Feb 25 15:09:08 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;4.&#160;Examples</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.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-Examples-PubSub.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-Examples"></a>Chapter&#160;4.&#160;Examples</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-Examples.html#JMS-Client-0-8-Examples-PTP">4.1. Point to point example</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Examples-PubSub.html">4.2. Publish/subscribe example</a></span></dt></dl></div><p>The following p
 rograms shows how to send and receive messages using the Qpid JMS client.
+		The first program illustrates a <span class="emphasis"><em>point to point</em></span> example, the second, a
+		pubish/subscribe example. </p><p>Both examples show the use JNDI to obtain connection factory and destination objects which
+		the application needs. In this way the configuration is kept separate from the application
+		code itself.</p><p>The example code will be straightforward for anyone familiar with Java JMS. Readers in
+		need of an introduction are directed towards <a class="link" href="http://docs.oracle.com/javaee/6/tutorial/doc/bncdq.html" target="_top">Oracle's JMS
+			tutorial</a>.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-Examples-PTP"></a>4.1.&#160;Point to point example</h2></div></div></div><p>In this example, we illustrate point to point messaging. We create a JNDI context
+			using a properties file, use the context to lookup a connection factory, create and
+			start a connection, create a session, and lookup a destination (a queue) from the JNDI
+			context. Then we create a producer and a consumer, send a message with the producer and
+			receive it with the consumer.</p><div class="example"><a id="JMS-Client-0-8-Examples-PTP-Java"></a><p class="title"><strong>Example&#160;4.1.&#160;JMS Example - Point to Point Messaging</strong></p><div class="example-contents"><pre class="programlisting">
+import javax.jms.*;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.Properties;
+
+public class Hello {
+
+    public Hello() {
+    }
+
+    public static void main(String[] args) throws Exception {
+        Hello hello = new Hello();
+        hello.runTest();
+    }
+
+    private void runTest() throws Exception {
+      Properties properties = new Properties();
+      properties.load(this.getClass().getResourceAsStream("helloworld.properties"));  <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-properties" id="ptp-java-properties"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+      Context context = new InitialContext(properties);                               <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-context" id="ptp-java-context"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a>
+
+      ConnectionFactory connectionFactory
+          = (ConnectionFactory) context.lookup("qpidConnectionFactory");              <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-connection-factory" id="ptp-java-connection-factory"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a>
+      Connection connection = connectionFactory.createConnection();                   <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-connection" id="ptp-java-connection"><span><img alt="4" border="0" src="images/callouts/4.png" /></span></a>
+      connection.start();                                                             <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-start" id="ptp-java-start"><span><img alt="5" border="0" src="images/callouts/5.png" /></span></a>
+
+      Session session = connection.createSession(true, Session.SESSION_TRANSACTED);   <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-session" id="ptp-java-session"><span><img alt="6" border="0" src="images/callouts/6.png" /></span></a>
+      Queue queue = (Queue) context.lookup("myqueue");                                <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-destination" id="ptp-java-destination"><span><img alt="7" border="0" src="images/callouts/7.png" /></span></a>
+
+      MessageConsumer messageConsumer = session.createConsumer(queue);                <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-consumer" id="ptp-java-consumer"><span><img alt="8" border="0" src="images/callouts/8.png" /></span></a>
+      MessageProducer messageProducer = session.createProducer(queue);                <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-producer" id="ptp-java-producer"><span><img alt="9" border="0" src="images/callouts/9.png" /></span></a>
+
+      TextMessage message = session.createTextMessage("Hello world!");                <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-send" id="ptp-java-send"><span><img alt="10" border="0" src="images/callouts/10.png" /></span></a>
+      messageProducer.send(message);
+      session.commit();
+
+      message = (TextMessage)messageConsumer.receive();                               <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-receive" id="ptp-java-receive"><span><img alt="11" border="0" src="images/callouts/11.png" /></span></a>
+      session.commit();
+      System.out.println(message.getText());
+
+      connection.close();                                                             <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-close" id="ptp-java-close"><span><img alt="12" border="0" src="images/callouts/12.png" /></span></a>
+      context.close();                                                                <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-jndi-close" id="ptp-java-jndi-close"><span><img alt="13" border="0" src="images/callouts/13.png" /></span></a>
+    }
+}
+	</pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-properties"></a><a href="#ptp-java-properties"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Loads the JNDI properties file, which specifies the connection factory, queues
+					and topics. See <a class="xref" href="JMS-Client-0-8-JNDI-Properties-Format.html" title="Chapter&#160;6.&#160;JNDI Properties Format">Chapter&#160;6, <em>JNDI Properties Format</em></a> for
+					details.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-context"></a><a href="#ptp-java-context"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates the JNDI initial context.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-connection-factory"></a><a href="#ptp-java-connection-factory"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a> </p></td><td align="left" valign="top"><p>Looks up a JMS connection factory for Qpid.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-connection"></a><a href="#ptp-java-connection"><span><img alt="4" border="0" src="images/callouts/4.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a JMS connection. Creating the JMS connections establishes the
+					connection to the Broker.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-start"></a><a href="#ptp-java-start"><span><img alt="5" border="0" src="images/callouts/5.png" /></span></a> </p></td><td align="left" valign="top"><p>Starts the connection, required for the consumption of messages.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-session"></a><a href="#ptp-java-session"><span><img alt="6" border="0" src="images/callouts/6.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a transactional session.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-destination"></a><a href="#ptp-java-destination"><span><img alt="7" border="0" src="images/callouts/7.png" /></span></a> </p></td><td align="left" valign="top"><p>Looks up a destination for the queue with JNDI name <span class="emphasis"><em>myqueue</em></span>.</p></td></tr><tr><td align="left" valign="top" width="5%"><
 p><a id="callout-ptp-consumer"></a><a href="#ptp-java-consumer"><span><img alt="8" border="0" src="images/callouts/8.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a consumer that reads messages from the queue<a class="footnote" href="#ftn.d0e191" id="d0e191"><sup class="footnote">[1]</sup></a>.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-producer"></a><a href="#ptp-java-producer"><span><img alt="9" border="0" src="images/callouts/9.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a producer that sends messages to the queue.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-send"></a><a href="#ptp-java-send"><span><img alt="10" border="0" src="images/callouts/10.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a new message of type <span class="emphasis"><em>javax.jms.TextMessage</em></span>, publishes the message and commits the
+					session.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-receive"></a><a href="#ptp-java-receive"><span><img alt="11" border="0" src="images/callouts/11.png" /></span></a> </p></td><td align="left" valign="top"><p>Reads the next available message (awaiting indefinitely if necessary) and
+					commits the session.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-close"></a><a href="#ptp-java-close"><span><img alt="12" border="0" src="images/callouts/12.png" /></span></a> </p></td><td align="left" valign="top"><p>Closes the Connection. All sessions owned by the Connection along with their
+					MessageConsumers and MessageProducers are automatically closed. The connection
+					to the Broker is closed as this point.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-jndi-close"></a><a href="#ptp-java-jndi-close"><span><img alt="13" border="0" src="images/callouts/13.png" /></span></a> </p></td><td align="left" valign="top"><p>Closes the JNDI context.</p></td></tr></table></div><p>The contents of the <code class="literal">helloworld.properties</code> file are shown
+			below.</p><div class="example"><a id="JMS-Client-0-8-Examples-PTP-PropertiesFile"></a><p class="title"><strong>Example&#160;4.2.&#160;JMS Example - Point to Point Messaging - JNDI Properties</strong></p><div class="example-contents"><pre class="programlisting">
+java.naming.factory.initial = org.apache.qpid.jndi.PropertiesFileInitialContextFactory
+connectionfactory.qpidConnectionFactory = amqp://guest:guest@clientid/?brokerlist='tcp://localhost:5672' <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-properties-connectionfactory" id="ptp-properties-connectionfactory"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+queue.myqueue = queue1                                                                                   <a class="co" href="JMS-Client-0-8-Examples.html#callout-ptp-properties-destination" id="ptp-properties-destination"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a>
+	</pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-properties-connectionfactory"></a><a href="#ptp-properties-connectionfactory"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Defines a connection factory from which Connections can be created. The syntax
+					of a ConnectionURL is given in <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></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-ptp-properties-destination"></a><a href="#ptp-properties-destination"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a> </p></td><td align="left" valign="top"><p>Defines a queue for which MessageProducers and/or MessageConsumers send and
+					receive messages. The format of these entries is described in <a class="xref" href="JMS-Client-0-8-JNDI-Properties-Format-Queue.html" title="6.2.&#160;Queue">Section&#160;6.2, &#8220;Queue&#8221;</a>.</p></td></tr></table></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div class="footnote" id="ftn.d0e191"><p><a class="para" href="#d0e191"><sup class="para">[1] </sup></a>Creating consumer will automatically create the queue on the Broker
+							and bind it to an exchange. Specifically, in this case as the
+								<code class="literal">queue.</code> form is used in the JNDI properties the
+							effect will be to create a queue called <code class="literal">queue1</code> on the
+							Broker, and create a binding between the <code class="literal">amq.direct</code>
+							exchange and this queue using the queue's name. This process is
+							described in detail in <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageConsumer.html#JMS-Client-0-8-Client-Understanding-MessageConsumer-ConsumerSideEffect" title="5.6.1.&#160;Consumers have Exchange/Queue Declaration and Binding Side Effect">Section&#160;5.6.1, &#8220;Consumers have Exchange/Queue Declaration and Binding Side Effect&#8221;</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-JMS-Getting-And-Dependencies-Dependencies.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-Examples-PubSub.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">3.2.&#160;Dependencies&#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;4.2.&#160;Publish
 /subscribe example</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Introduction.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Introduction.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Introduction.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-Introduction.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,10 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;1.&#160;Introduction</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-Book.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-Document-Scope-And-Intended-Audience.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-Introduction"></a>Chapter&#160;1.&#160;Introduction</h1></div></div></div><p>Qpid JMS client is an implementation of <a class="link" href="http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/" target="_top">JMS specification
+      1.1</a>. It utilises an <a class="link" href="http://www.amqp.org" target="_top">AMQP</a> transport layer for the performing of messaging operations.
+    The client is intended to be used for the writing of JMS compatible messaging applications. Such
+    applications can send and receive messages via any AMQP-compatible brokers like RabbitMQ, Qpid
+    Java Broker which support the AMQP protocols 0-8, 0-9, or 0-9-1.</p><p>The Qpid JMS client hides the details of AMQP transport implementation behind the JMS API.
+    Thus, the developers need only to be familiar with JMS API in order to use the client. However,
+    the knowledge of the basic concepts of AMQP protocols can help developers in writing reliable
+    and high-performant messaging application. </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Using the Qpid JMS client with 0-10</h3><p>This book documents the behaviour of the Qpid JMS client when used with the AMQP
+      protocols <span class="emphasis"><em>0-8, 0-9, and 0-9-1</em></span> only. For behaviour when using the client
+      with AMQP 0-10 protocol, please refer to <a class="link" href="/releases/qpid-0.32/programming/book/" target="_top">Programming in Apache Qpid</a>.</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-Book.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-Document-Scope-And-Intended-Audience.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1&#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;2.&#160;Document Scope And Intended Audience</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.2.&#160;Dependencies</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JMS-Getting-And-Dependencies.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;3.&#160;Getting the Client And Dependencies</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Examples.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-JMS-Getting-And-Dependencies-Dependencies"></a>3.2.&#160;Dependencies</h2></div></div></div><p>The Qpid JMS client has minimal set of external dependencies. </p><p> It requires: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>JDK 1.7 or higher.</p></li><li class="listitem"><p>JMS 1.1 specification (such as geronimo-
 jms_1.1_spec JAR)</p></li><li class="listitem"><p><a class="link" href="http://www.slf4j.org" target="_top">Apache SLF4J</a> (slf4j-api-x.y.z JAR)</p></li></ul></div><p>
+    </p><p>The use of SLF4J means that application authors are free to plug in any logging framework
+      for which an SLF4J binding exists. </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-JMS-Getting-And-Dependencies.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-JMS-Getting-And-Dependencies.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Examples.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;3.&#160;Getting the Client And Dependencies&#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;4.&#160;Examples</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JMS-Getting-And-Dependencies.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,11 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter&#160;3.&#160;Getting the Client And Dependencies</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Document-Scope-And-Intended-Audience.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-JMS-Getting-And-Dependencies-Dependencies.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-JMS-Getting-And-Dependencies"></a>Chapter&#160;3.&#160;Getting the Client And Dependencies</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-JMS-Getting-And-Dependencies.html#JMS-Client-0-8-JMS-Getting-And-Dependencies-Getting">3.1. Getting the Client</a></span></dt><dt><span cl
 ass="section"><a href="JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html">3.2. Dependencies</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-JMS-Getting-And-Dependencies-Getting"></a>3.1.&#160;Getting the Client</h2></div></div></div><p>The Qpid JMS client is available as a bundle or from Maven repositories.</p><p>The bundle (a .tar.gz) includes the Qpid JMS client itself (formed by two JAR: qpid-client
+      and qpid-common) together with slf4j-api, and geronimo-jms_1.1_spec. There is also a qpid-all
+      JAR artifact that, for convenience, includes a manifest classpath that references the other
+      JARs. The bundle is available from <a class="link" href="http://qpid.apache.org/download.html" target="_top">the Apache Qpid project web site</a>.</p><p>The Qpid JMS client is also available from Maven repositories. Add the following
+      dependency:</p><pre class="screen">
+    &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.2-SNAPSHOT&lt;/version&gt;
+    &lt;/dependency&gt;
+    </pre><p><a class="xref" href="JMS-Client-0-8-Appendix-Maven.html" title="Appendix&#160;B.&#160;Minimal Maven POM">Appendix&#160;B, <em>Minimal Maven POM</em></a> illustrates a minimal Maven POM required to use the Qpid Client.</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-Document-Scope-And-Intended-Audience.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-JMS-Getting-And-Dependencies-Dependencies.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter&#160;2.&#160;Document Scope And Intended Audience&#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;3.2.&#160;Dependencies</td></tr></table></div></div>
\ No newline at end of file

Added: qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JNDI-Properties-Format-Destination.html.in
URL: http://svn.apache.org/viewvc/qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JNDI-Properties-Format-Destination.html.in?rev=1732318&view=auto
==============================================================================
--- qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JNDI-Properties-Format-Destination.html.in (added)
+++ qpid/site/input/releases/qpid-java-6.0.1/jms-client-0-8/book/JMS-Client-0-8-JNDI-Properties-Format-Destination.html.in Thu Feb 25 15:09:08 2016
@@ -0,0 +1,3 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">6.4.&#160;Destination</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JNDI-Properties-Format-Topic.html">Prev</a>&#160;</td><th align="center" width="60%">Chapter&#160;6.&#160;JNDI Properties Format</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Connection-URL.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-JNDI-Properties-Format-Destination"></a>6.4.&#160;Destination</h2></div></div></div><p><code class="literal">destination.</code><span class="emphasis"><em>name</em></span> declares either a <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Queue.html" target="_top">Queue</a> or <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Topic.html" target="_to
 p">Topic</a> (depending on the class) with the
+      given JNDI name. The value must be a Binding URL.</p><p>See <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> for format of the URL and its permitted
+      options.</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-JNDI-Properties-Format-Topic.html">Prev</a>&#160;</td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-JNDI-Properties-Format.html">Up</a></td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Connection-URL.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">6.3.&#160;Topic&#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;7.&#160;Connection URLs</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