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. MessageProducer</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Session.html">Prev</a> </td><th align="center" width="60%">Chapter 5. Understanding the Qpid JMS client</th><td align="right" width="20%"> <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. 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. 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. 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. 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. 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> </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%"> <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. Session </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 5.6. 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. Session</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-Connection.html">Prev</a> </td><th align="center" width="60%">Chapter 5. Understanding the Qpid JMS client</th><td align="right" width="20%"> <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. 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. 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 > 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. 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. 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//<queue name>?routingkey='<queue name>'&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. 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//<topic
+ name>?routingkey='<topic name>'.</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> </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%"> <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. Connection </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 5.5. 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 5. 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> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 5. 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. 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 5.1. 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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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. Publish/subscribe example </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 5.2.
 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 7. 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> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 7. 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://[<user>:<pass>@][<clientid>]/[<virtualhost>][?<option>='<value>'[&<option>='<value>']*]</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">“<span class="quote">localhost</span>”</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 7.1. 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 9. 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' |
+ '<class>'} </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. Close When No Route">Section 5.5.2, “Close When No Route”</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='<transport>://<host>[:<port>][?<param>='<value>'[&<param>='<value>']*]'</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 7.1. 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'&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''
+ &brokerlist='tcp://ip1:5672?retries='5'&connectdelay='2000';tcp://ip2:5672?retries='5'&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 7.2. 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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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. Destination </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 8. 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 2. 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> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 2. 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 5. Understanding the Qpid JMS client">Chapter 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 4. Examples">Chapter 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 9. System Properties">Chapter 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 7. Connection URLs">Chapter 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 6. JNDI Properties Format">Chapter 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 8. Binding URL">Chapter 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 10. Logging">Chapter 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 A. Exceptions">Appendix 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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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 1. Introduction </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 3. 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. Publish/subscribe example</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Examples.html">Prev</a> </td><th align="center" width="60%">Chapter 4. Examples</th><td align="right" width="20%"> <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. 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 4.3. 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 > 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 4.4. 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. Topic">Section 6.3, “Topic”</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. Topic Subscriptions">Section 5.6.2, “Topic Subscriptions”</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> </td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Examples.html">Up</a></td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Client-Understanding.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 4. Examples </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 5. 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 4. 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> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 4. 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. 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 4.1. 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 6. JNDI Properties Format">Chapter 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 4.2. 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 7. Connection URLs">Chapter 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. Queue">Section 6.2, “Queue”</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. Consumers have Exchange/Queue Declaration and Binding Side Effect">Section 5.6.1, “Consumers have Exchange/Queue Declaration and Binding Side Effect”</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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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. Dependencies </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 4.2. 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 1. Introduction</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-Book.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 1. 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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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 </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 2. 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. Dependencies</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JMS-Getting-And-Dependencies.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Getting the Client And Dependencies</th><td align="right" width="20%"> <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. 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> </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%"> <a accesskey="n" href="JMS-Client-0-8-Examples.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 3. Getting the Client And Dependencies </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 4. 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 3. 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> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <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 3. 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. 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">
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-client</artifactId>
+ <version>6.0.2-SNAPSHOT</version>
+ </dependency>
+ </pre><p><a class="xref" href="JMS-Client-0-8-Appendix-Maven.html" title="Appendix B. Minimal Maven POM">Appendix 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> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <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 2. Document Scope And Intended Audience </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.2. 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. Destination</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-JNDI-Properties-Format-Topic.html">Prev</a> </td><th align="center" width="60%">Chapter 6. JNDI Properties Format</th><td align="right" width="20%"> <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. 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 8. Binding URL">Chapter 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> </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%"> <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. Topic </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 7. 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