http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1c801de7/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding-Session.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding-Session.html
 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding-Session.html
new file mode 100644
index 0000000..d8de5e9
--- /dev/null
+++ 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding-Session.html
@@ -0,0 +1,208 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+  <head>
+    <title>5.4.&#160;Session - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ 
broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch 
router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/qpid/Index";>Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search"; method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" 
tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a 
href="/index.html">Home</a></li><li><a 
href="/releases/index.html">Releases</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 
6.3.0</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/index.html">Apache 
Qpid JMS AMQP 0-8/0-9/0-9-1</a></li><li>5.4.&#160;Session</li></ul>
+
+        <div id="-middle-content">
+          <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 
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>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></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 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 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>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1c801de7/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding.html
 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding.html
new file mode 100644
index 0000000..22e6f04
--- /dev/null
+++ 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Client-Understanding.html
@@ -0,0 +1,150 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+  <head>
+    <title>Chapter&#160;5.&#160;Understanding the Client - Apache 
Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ 
broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch 
router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/qpid/Index";>Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search"; method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" 
tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a 
href="/index.html">Home</a></li><li><a 
href="/releases/index.html">Releases</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 
6.3.0</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/index.html">Apache 
Qpid JMS AMQP 0-8/0-9/0-9-1</a></li><li>Chapter&#160;5.&#160;Understanding the 
Client</li></ul>
+
+        <div id="-middle-content">
+          <div class="docbook"><div class="navheader"><table 
summary="Navigation header" width="100%"><tr><th align="center" 
colspan="3">Chapter&#160;5.&#160;Understanding the 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 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-Connection
 Factory.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.html">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-Client-Un
 derstanding-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-ConsumerSideEffect">
 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
 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 Client behaves 
and the effect(s)
+      making JMS method calls will have on the Broker. </p><p>There areas 
where the 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="d0e333"></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>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1c801de7/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Connection-URL.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Connection-URL.html
 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Connection-URL.html
new file mode 100644
index 0000000..9c02553
--- /dev/null
+++ 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Connection-URL.html
@@ -0,0 +1,269 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+  <head>
+    <title>Chapter&#160;7.&#160;Connection URLs - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ 
broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch 
router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/qpid/Index";>Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search"; method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" 
tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a 
href="/index.html">Home</a></li><li><a 
href="/releases/index.html">Releases</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 
6.3.0</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/index.html">Apache 
Qpid JMS AMQP 0-8/0-9/0-9-1</a></li><li>Chapter&#160;7.&#160;Connection 
URLs</li></ul>
+
+        <div id="-middle-content">
+          <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;10.&#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_client_ack 
</td><td> Boolean </td><td>
+                                               <p>
+                                                       If set <code 
class="literal">true</code>, for sessions using <a class="link" 
href="http://docs.oracle.com/javaee/6/api/javax/jms/Session.html#CLIENT_ACKNOWLEDGE";
 target="_top">Session#CLIENT_ACKNOWLEDGE</a>,
+                                                       a sync command is sent 
after every message <a class="link" 
href="http://docs.oracle.com/javaee/6/api/javax/jms/Message.html#acknowledge()" 
target="_top">Message#acknowledge()</a>.
+                                                       This ensure that the 
client awaits the successful processing of the acknowledgement by server before 
continuing.
+                                               </p>
+                                               <p>If <code 
class="literal">false</code>, the sync is not performed.  This will improve 
performance but will mean
+                                                       duplicate messages are 
more likely to be received following a failure.
+                                               </p>
+                                               <p>
+                                                       Defaults to <code 
class="literal">true</code>.
+                                               </p>
+                                               <p>
+                                                       Note: You can also set 
the default on a client-wide basis by configuring the
+                                                       client using <a 
class="link" href="JMS-Client-0-8-System-Properties.html" 
title="Chapter&#160;10.&#160;System Properties">Java system properties.</a>
+                                               </p>
+                                       </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><tr><td><a 
id="JMS-Client-0-8-Connection-URL-ConnectionOptions-populateJMSXUserID"></a>populateJMSXUserID</td><td>boolean</td><td><p>Controls
 whether a MessageProducer will populate the JMSXUserID value for each sent 
message using the authenticated username from the connection.
+                                               It is set to true by 
default.</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 connection is made to
+               the first broker in the list that is available.
+               </p><div class="example"><a id="d0e1349"></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="d0e1374"></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> sasl_mechs </td><td> 
- </td><td> A space separated list of SASL mechanisms which may be used.  If 
not present then
+                                               any method offered by the 
broker may be used.
+                                               For secure applications, we 
suggest SCRAM-SHA-256. The
+                                               ANONYMOUS mechanism is not 
secure. The PLAIN mechanism is secure only when used
+                                               together with SSL. SASL 
External is supported using SSL certification, e.g.
+                                               <code 
class="literal">ssl='true'&amp;sasl_mechs='EXTERNAL'</code>
+                                       </td></tr><tr><td> sasl_encryption 
</td><td> Boolean </td><td> If <code 
class="literal">sasl_encryption='true'</code>, the JMS client attempts to
+                                               negotiate a security layer with 
the broker using GSSAPI to encrypt the
+                                               connection. Note that for this 
to happen, GSSAPI must be selected as the
+                                               sasl_mech. </td></tr><tr><td> 
sasl_protocol </td><td> - </td><td> Used only for Kerberos. <code 
class="literal">sasl_protocol</code> must be set to
+                                               the principal for the qpidd 
broker, e.g. <code class="literal">qpidd/</code>
+                                       </td></tr><tr><td> sasl_server 
</td><td> - </td><td> For Kerberos, sasl_server must be set
+                                               to the host for the SASL 
server, e.g. <code class="literal">sasl.com</code>. </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><tr><td><a 
id="JMS-Client-0-8-Connection-URL-BrokerOptions-EncryptionTrustStore"></a> 
encryption_trust_store </td><td> String </td><td> Path to trust store. Used 
when using Message Encryption this path is used for the
+                                       trust store containing the X509 
Certificates of potential recipients.</td></tr><tr><td><a 
id="JMS-Client-0-8-Connection-URL-BrokerOptions-EncryptionTrustStorePassword"></a>
 encyrption_trust_store_password </td><td> String </td><td> Trust store 
password. Password used to open the Message Encryption trust store. 
</td></tr><tr><td><a 
id="JMS-Client-0-8-Connection-URL-BrokerOptions-EncryptionRemoteTrustStore"></a>
 encryption_remote_trust_store </td><td> String </td><td> Remote Trust Store. 
The address of a message source on the broker which will be used
+                                               to obtain a trust store 
containing the X509 Certificates of potential recipients of
+                                               encrypted messages. 
</td></tr><tr><td><a 
id="JMS-Client-0-8-Connection-URL-BrokerOptions-EncryptionKeyStore"></a> 
encryption_key_store </td><td> String </td><td> Path to key store. Used when 
using Message Encryption this path is used for the
+                                               key store containing the 
certificates and private keys for all the identities which this client
+                                               can 
decrypt.</td></tr><tr><td><a 
id="JMS-Client-0-8-Connection-URL-BrokerOptions-EncryptionKeyStorePassword"></a>
 encyrption_key_store_password </td><td> String </td><td> Key store password. 
Password used to open the Message Encryption key store. 
</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>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1c801de7/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html
 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html
new file mode 100644
index 0000000..ca81d4f
--- /dev/null
+++ 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Document-Scope-And-Intended-Audience.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+  <head>
+    <title>Chapter&#160;2.&#160;Document Scope And Intended Audience - Apache 
Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ 
broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch 
router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/qpid/Index";>Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search"; method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" 
tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a 
href="/index.html">Home</a></li><li><a 
href="/releases/index.html">Releases</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 
6.3.0</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/index.html">Apache 
Qpid JMS AMQP 0-8/0-9/0-9-1</a></li><li>Chapter&#160;2.&#160;Document Scope And 
Intended Audience</li></ul>
+
+        <div id="-middle-content">
+          <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 Apache Qpid JMS
+    client for AMQP 0-9-1/0-10. 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 Client">Chapter&#160;5, 
<em>Understanding the Client</em></a>. It also
+    demonstrates how to write a simple point to point and simple 
publish/subscribe application using
+    the 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 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;10.&#160;System Properties">Chapter&#160;10, <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 JNDI properties format for the Apache Qpid JMS client for 
AMQP 0-9-1/0-10 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 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 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;11.&#160;Logging">Chapter&#160;11, <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 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>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/qpid-site/blob/1c801de7/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Examples-PubSub.html
----------------------------------------------------------------------
diff --git 
a/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Examples-PubSub.html
 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Examples-PubSub.html
new file mode 100644
index 0000000..2110f71
--- /dev/null
+++ 
b/content/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/JMS-Client-0-8-Examples-PubSub.html
@@ -0,0 +1,216 @@
+<!DOCTYPE html>
+<!--
+ -
+ - Licensed to the Apache Software Foundation (ASF) under one
+ - or more contributor license agreements.  See the NOTICE file
+ - distributed with this work for additional information
+ - regarding copyright ownership.  The ASF licenses this file
+ - to you under the Apache License, Version 2.0 (the
+ - "License"); you may not use this file except in compliance
+ - with the License.  You may obtain a copy of the License at
+ -
+ -   http://www.apache.org/licenses/LICENSE-2.0
+ -
+ - Unless required by applicable law or agreed to in writing,
+ - software distributed under the License is distributed on an
+ - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ - KIND, either express or implied.  See the License for the
+ - specific language governing permissions and limitations
+ - under the License.
+ -
+-->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en">
+  <head>
+    <title>4.2.&#160;Publish/subscribe example - Apache Qpid&#8482;</title>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
+    <link rel="stylesheet" href="/site.css" type="text/css" async="async"/>
+    <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/>
+    <script type="text/javascript">var _deferredFunctions = [];</script>
+    <script type="text/javascript" src="/deferred.js" defer="defer"></script>
+    <!--[if lte IE 8]>
+      <link rel="stylesheet" href="/ie.css" type="text/css"/>
+      <script type="text/javascript" src="/html5shiv.js"></script>
+    <![endif]-->
+
+    <!-- Redirects for `go get` and godoc.org -->
+    <meta name="go-import"
+          content="qpid.apache.org git 
https://git-wip-us.apache.org/repos/asf/qpid-proton.git"/>
+    <meta name="go-source"
+          content="qpid.apache.org
+https://github.com/apache/qpid-proton/blob/go1/README.md
+https://github.com/apache/qpid-proton/tree/go1{/dir}
+https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/>
+  </head>
+  <body>
+    <div id="-content">
+      <div id="-top" class="panel">
+        <a id="-menu-link"><img width="16" height="16" src="" alt="Menu"/></a>
+
+        <a id="-search-link"><img width="22" height="16" src="" 
alt="Search"/></a>
+
+        <ul id="-global-navigation">
+          <li><a id="-logotype" href="/index.html">Apache 
Qpid<sup>&#8482;</sup></a></li>
+          <li><a href="/documentation.html">Documentation</a></li>
+          <li><a href="/download.html">Download</a></li>
+          <li><a href="/discussion.html">Discussion</a></li>
+        </ul>
+      </div>
+
+      <div id="-menu" class="panel" style="display: none;">
+        <div class="flex">
+          <section>
+            <h3>Project</h3>
+
+            <ul>
+              <li><a href="/overview.html">Overview</a></li>
+              <li><a href="/components/index.html">Components</a></li>
+              <li><a href="/releases/index.html">Releases</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Messaging APIs</h3>
+
+            <ul>
+              <li><a href="/proton/index.html">Qpid Proton</a></li>
+              <li><a href="/components/jms/index.html">Qpid JMS</a></li>
+              <li><a href="/components/messaging-api/index.html">Qpid 
Messaging API</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Servers and tools</h3>
+
+            <ul>
+              <li><a href="/components/broker-j/index.html">Broker-J</a></li>
+              <li><a href="/components/cpp-broker/index.html">C++ 
broker</a></li>
+              <li><a href="/components/dispatch-router/index.html">Dispatch 
router</a></li>
+            </ul>
+          </section>
+
+          <section>
+            <h3>Resources</h3>
+
+            <ul>
+              <li><a href="/dashboard.html">Dashboard</a></li>
+              <li><a 
href="https://cwiki.apache.org/confluence/display/qpid/Index";>Wiki</a></li>
+              <li><a href="/resources.html">More resources</a></li>
+            </ul>
+          </section>
+        </div>
+      </div>
+
+      <div id="-search" class="panel" style="display: none;">
+        <form action="http://www.google.com/search"; method="get">
+          <input type="hidden" name="sitesearch" value="qpid.apache.org"/>
+          <input type="text" name="q" maxlength="255" autofocus="autofocus" 
tabindex="1"/>
+          <button type="submit">Search</button>
+          <a href="/search.html">More ways to search</a>
+        </form>
+      </div>
+
+      <div id="-middle" class="panel">
+        <ul id="-path-navigation"><li><a 
href="/index.html">Home</a></li><li><a 
href="/releases/index.html">Releases</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/index.html">Qpid JMS AMQP 0-x 
6.3.0</a></li><li><a 
href="/releases/qpid-jms-amqp-0-x-6.3.0/jms-amqp-0-8-book/index.html">Apache 
Qpid JMS AMQP 0-8/0-9/0-9-1</a></li><li>4.2.&#160;Publish/subscribe 
example</li></ul>
+
+        <div id="-middle-content">
+          <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.d0e283" id="d0e283"><sup 
class="footnote">[3]</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.d0e283"><p><a class="para" href="#d0e283"><sup class="para">[3] 
</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 Client</td></tr></table></div></div>
+
+          <hr/>
+
+          <ul id="-apache-navigation">
+            <li><a href="http://www.apache.org/";>Apache</a></li>
+            <li><a href="http://www.apache.org/licenses/";>License</a></li>
+            <li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+            <li><a 
href="http://www.apache.org/foundation/thanks.html";>Thanks!</a></li>
+            <li><a href="/security.html">Security</a></li>
+            <li><a href="http://www.apache.org/";><img id="-apache-feather" 
width="48" height="14" src="" alt="Apache"/></a></li>
+          </ul>
+
+          <p id="-legal">
+            Apache Qpid, Messaging built on AMQP; Copyright &#169; 2015
+            The Apache Software Foundation; Licensed under
+            the <a href="http://www.apache.org/licenses/LICENSE-2.0";>Apache
+            License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton,
+            Proton, Apache, the Apache feather logo, and the Apache Qpid
+            project logo are trademarks of The Apache Software
+            Foundation; All other marks mentioned may be trademarks or
+            registered trademarks of their respective owners
+          </p>
+        </div>
+      </div>
+    </div>
+  </body>
+</html>


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

Reply via email to