Added: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html?rev=1632181&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html (added) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html Wed Oct 15 21:29:55 2014 @@ -0,0 +1,155 @@ +<!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>C.2. Binding Management - Apache Qpid™</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="/site.css" type="text/css" async="async"/> + <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/> + <script type="text/javascript">var _deferredFunctions = [];</script> + <script type="text/javascript" src="/deferred.js" defer="defer"></script> + <!--[if lte IE 8]> + <link rel="stylesheet" href="/ie.css" type="text/css"/> + <script type="text/javascript" src="/html5shiv.js"></script> + <![endif]--> + </head> + <body> + <div id="-content"> + <div id="-top" class="panel"> + <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a> + + <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a> + + <ul id="-global-navigation"> + <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li> + <li><a href="/download.html">Download</a></li> + <li><a href="/documentation.html">Documentation</a></li> + <li><a href="/discussion.html">Discussion</a></li> + <li><a href="/issues.html">Issues</a></li> + <li><a href="/source-code.html">Source Code</a></li> + <li><a href="/resources.html">More Resources</a></li> + </ul> + </div> + + <div id="-menu" class="panel" style="display: none;"> + <section> + <h3>Project</h3> + + <ul> + <li><a href="/overview.html">Overview</a></li> + <li><a href="/proton/index.html">Qpid Proton</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="/get-involved.html">Get involved</a></li> + </ul> + </section> + + <section> + <h3>Software</h3> + + <ul> + <li><a href="/download.html">Download</a></li> + <li><a href="/documentation.html">Documentation</a></li> + <li><a href="/components/index.html">Components</a></li> + <li><a href="/releases/index.html">Releases</a></li> + </ul> + </section> + + <section> + <h3>Resources</h3> + + <ul> + <li><a href="/discussion.html">Discussion</a></li> + <li><a href="/issues.html">Issues</a></li> + <li><a href="/source-code.html">Source code</a></li> + <li><a href="/resources.html">More resources</a></li> + </ul> + </section> + + <section> + <h3>More</h3> + + <ul> + <li><a href="/amqp.html">AMQP</a></li> + <li><a href="/developer.html">Developer central</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li> + </ul> + </section> + </div> + + <div id="-search" class="panel" style="display: none;"> + <form action="http://www.google.com/search" method="get"> + <input type="hidden" name="sitesearch" value="qpid.apache.org"/> + <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/> + <button type="submit">Search</button> + <p><a href="/search.html">More ways to search</a></p> + </form> + </div> + + <div id="-middle" class="panel"> + <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>C.2. Binding Management</li></ul> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">C.2. Binding Management</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Prev</a> </td><th align="center" width="60%">Appendix C. JMS Extensions</th><td align="right" width="20%"> </td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Binding"></a>C.2. Binding Management</h2></div></div></div><p>These extensions allow bindings to be created or removed.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Binding-Creation"></a>C.2.1. Binding creation</h3></div></div></div><p>The following example illustrates the creation of queue binding to topic exchange with + JMS client.</p><div class="example"><a id="idp665648"></a><p class="title"><strong>Example C.2. Binding a queue using JMS</strong></p><div class="example-contents"><pre class="programlisting">ConnectionFactory connectionFactory = ... +Connection connection = connectionFactory.createConnection(); +AMQSession<?, ?> session = (AMQSession<?,?>)connection.createSession(false, Session.AUTO_ACKNOWLEDGE); + +... + +AMQShortString queueName = new AMQShortString("testQueue"); +AMQShortString routingKey = new AMQShortString("testRoutingKey"); +AMQDestination destination = (AMQDestination) session.createQueue(queueName.asString()); + +... + +// binding arguments +Map<String, Object> arguments = new HashMap<String, Object>(); +arguments.put("x-filter-jms-selector", "application='app1'"); + +// create binding +session.bindQueue(queueName, routingKey, FieldTable.convertToFieldTable(arguments), + new AMQShortString("amq.topic"), destination);</pre></div></div><br class="example-break" /></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Up</a></td><td align="right" width="40%"> </td></tr><tr><td align="left" valign="top" width="40%">Appendix C. JMS Extensions </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> </td></tr></table></div></div> + + <hr/> + + <ul id="-apache-navigation"> + <li><a href="http://www.apache.org/">Apache</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li> + </ul> + + <p id="-legal"> + Apache Qpid, Messaging built on AMQP; Copyright © 2013 + The Apache Software Foundation; Licensed under + the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache + License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners + </p> + </div> + </div> + </body> +</html>
Added: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html?rev=1632181&view=auto ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html (added) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-JMS-Extensions.html Wed Oct 15 21:29:55 2014 @@ -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>Appendix C. JMS Extensions - Apache Qpid™</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + <link rel="stylesheet" href="/site.css" type="text/css" async="async"/> + <link rel="stylesheet" href="/deferred.css" type="text/css" defer="defer"/> + <script type="text/javascript">var _deferredFunctions = [];</script> + <script type="text/javascript" src="/deferred.js" defer="defer"></script> + <!--[if lte IE 8]> + <link rel="stylesheet" href="/ie.css" type="text/css"/> + <script type="text/javascript" src="/html5shiv.js"></script> + <![endif]--> + </head> + <body> + <div id="-content"> + <div id="-top" class="panel"> + <a id="-menu-link"><img width="16" height="16" src="data:image/png;base64," alt="Menu"/></a> + + <a id="-search-link"><img width="22" height="16" src="data:image/png;base64," alt="Search"/></a> + + <ul id="-global-navigation"> + <li><a id="-logotype" href="/index.html">Apache Qpid<sup>™</sup></a></li> + <li><a href="/download.html">Download</a></li> + <li><a href="/documentation.html">Documentation</a></li> + <li><a href="/discussion.html">Discussion</a></li> + <li><a href="/issues.html">Issues</a></li> + <li><a href="/source-code.html">Source Code</a></li> + <li><a href="/resources.html">More Resources</a></li> + </ul> + </div> + + <div id="-menu" class="panel" style="display: none;"> + <section> + <h3>Project</h3> + + <ul> + <li><a href="/overview.html">Overview</a></li> + <li><a href="/proton/index.html">Qpid Proton</a></li> + <li><a href="/contributors.html">Contributors</a></li> + <li><a href="/get-involved.html">Get involved</a></li> + </ul> + </section> + + <section> + <h3>Software</h3> + + <ul> + <li><a href="/download.html">Download</a></li> + <li><a href="/documentation.html">Documentation</a></li> + <li><a href="/components/index.html">Components</a></li> + <li><a href="/releases/index.html">Releases</a></li> + </ul> + </section> + + <section> + <h3>Resources</h3> + + <ul> + <li><a href="/discussion.html">Discussion</a></li> + <li><a href="/issues.html">Issues</a></li> + <li><a href="/source-code.html">Source code</a></li> + <li><a href="/resources.html">More resources</a></li> + </ul> + </section> + + <section> + <h3>More</h3> + + <ul> + <li><a href="/amqp.html">AMQP</a></li> + <li><a href="/developer.html">Developer central</a></li> + <li><a href="https://cwiki.apache.org/confluence/display/qpid/">Wiki</a></li> + </ul> + </section> + </div> + + <div id="-search" class="panel" style="display: none;"> + <form action="http://www.google.com/search" method="get"> + <input type="hidden" name="sitesearch" value="qpid.apache.org"/> + <input type="text" name="q" maxlength="255" autofocus="autofocus" tabindex="1"/> + <button type="submit">Search</button> + <p><a href="/search.html">More ways to search</a></p> + </form> + </div> + + <div id="-middle" class="panel"> + <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>Appendix C. JMS Extensions</li></ul> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix C. JMS Extensions</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Maven.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions"></a>Appendix C. JMS Extensions</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Client-0-8-Appendix-JMS-Extensions-Queue">C.1. Queue Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Cli ent-0-8-Appendix-JMS-Extensions-Queue-Creation">C.1.1. Queue creation</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">C.2. Binding Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html#JMS-Client-0-8-Appendix-JMS-Extensions-Binding-Creation">C.2.1. Binding creation</a></span></dt></dl></dd></dl></div><p>This section illustrates using Qpid specific extentions to JMX for the managament of queues, + exchanges and bindings.</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>It is not recommended that these extensions are generally used. These interfaces are + subject to change and will not be supported in this form for AMQP 1.0. Instead, the reader is + directed towards the Managment interfaces of the Broker.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Queue"></a>C.1. Queue Management</h2></div></div></div><p>These extensions allow queues to be created or removed.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Appendix-JMS-Extensions-Queue-Creation"></a>C.1.1. Queue creation</h3></div></div></div><p>The following example illustrates the creation of the a LVQ queue from a + javax.jms.Session object. Note that this utilises a Qpid specific extension to JMS and + involves casting the session object back to its Qpid base-class.</p><div class="example"><a id="idp3754800"></a><p class="title"><strong>Example C.1. Creation of an LVQ using the Qpid extension to JMS</strong></p><div class="example-contents"><pre class="programlisting">Map<String,Object> arguments = new HashMap<String, Object>(); +arguments.put("qpid.last_value_queue_key","ISIN"); +AMQDestination amqQueue = (AMQDestination) context.lookup("myqueue"); +((AMQSession<?,?>) session).createQueue( + AMQShortString.valueOf(amqQueue.getQueueName()), + amqQueue.isAutoDelete(), + amqQueue.isDurable(), + amqQueue.isExclusive(), + arguments); +</pre></div></div><br class="example-break" /></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Maven.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix B. Minimal Maven POM </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> C.2. Binding Management</td></tr></table></div></div> + + <hr/> + + <ul id="-apache-navigation"> + <li><a href="http://www.apache.org/">Apache</a></li> + <li><a href="http://www.apache.org/licenses/">License</a></li> + <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> + <li><a href="http://www.apache.org/foundation/thanks.html">Thanks!</a></li> + <li><a href="http://www.apache.org/security/">Security</a></li> + <li><a href="http://www.apache.org/"><img id="-apache-feather" width="48" height="14" src="data:image/png;base64," alt="Apache"/></a></li> + </ul> + + <p id="-legal"> + Apache Qpid, Messaging built on AMQP; Copyright © 2013 + The Apache Software Foundation; Licensed under + the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache + License, Version 2.0</a>; Apache Qpid, Qpid, Qpid Proton, + Proton, Apache, the Apache feather logo, and the Apache Qpid + project logo are trademarks of The Apache Software + Foundation; All other marks mentioned may be trademarks or + registered trademarks of their respective owners + </p> + </div> + </div> + </body> +</html> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Appendix-Maven.html Wed Oct 15 21:29:55 2014 @@ -107,9 +107,9 @@ <div id="-middle" class="panel"> <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>Appendix B. Minimal Maven POM</li></ul> - <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix B. Minimal Maven POM</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Exceptions.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> </td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-Maven"></a>Appendix B. Minimal Maven POM</h1></div></div></div><p> The following is a minimal Maven POM required to use the Qpid Client. It is suitable for + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix B. Minimal Maven POM</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Exceptions.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Next</a></td></tr></table><hr /></div><div class="appendix"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Appendix-Maven"></a>Appendix B. Minimal Maven POM</h1></div></div></div><p> The following is a minimal Maven POM required to use the Qpid Client. It is suitable for use with the <a class="link" href="JMS-Client-0-8-Examples.html" title="Chapter 4. Examples">examples</a> included in this - book.</p><div class="example"><a id="idm233110836880"></a><p class="title"><strong>Example B.1. Minimal Maven POM </strong></p><div class="example-contents"><pre class="programlisting"> + book.</p><div class="example"><a id="idp2196816"></a><p class="title"><strong>Example B.1. Minimal Maven POM </strong></p><div class="example-contents"><pre class="programlisting"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> @@ -121,7 +121,7 @@ <dependency> <groupId>org.apache.qpid</groupId> <artifactId>qpid-client</artifactId> - <version>0.29</version> + <version>0.32-SNAPSHOT</version> </dependency> <dependency> <groupId>org.slf4j</groupId> @@ -138,7 +138,7 @@ </pre></div></div><br class="example-break" /><p>Note: We use the SLF4J Binding for Log4J12 here, but any SLF4J Binding could be used instead. Similarly, Geronimo JMS Spec is used, but any dependency that provides the JMS 1.1 - specification could be subsituted.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Exceptions.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> </td></tr><tr><td align="left" valign="top" width="40%">Appendix A. Exceptions </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> </td></tr></table></div></div> + specification could be subsituted.</p></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Exceptions.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-JMS-Extensions.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix A. Exceptions </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix C. JMS Extensions</td></tr></table></div></div> <hr/> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Binding-URL.html Wed Oct 15 21:29:55 2014 @@ -107,10 +107,8 @@ <div id="-middle" class="panel"> <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>Chapter 8. Binding URL</li></ul> - <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 8. Binding URL</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Connection-URL.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Binding-URL"></a>Chapter 8. Binding URL</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Examples">8.1. Binding URL Examples</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Queues">8.1.1. Binding URLs for declarin g of JMS Queues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Topics">8.1.2. Binding URLs for declaring of JMS Topics</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Topics-Wildcards">8.1.3. Wildcard characters in routing keys for topic destinations</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Extra-Examples">8.1.4. More Examples</a></span></dt></dl></dd></dl></div><p> The <span class="emphasis"><em>Binding URL</em></span> syntax is the only addressing syntax supported by the - Qpid JMS client for AMQP 0-8, 0-9 and 0-9-1. It allows to specify the bindings that define the - relationship between a queue and an exchange, queue and exchange creation arguments and client - behaviour. </p><p> The format for a <span class="emphasis"><em>Binding URL</em></span> is provided below </p><pre class="screen"> + <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 8. Binding URL</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Connection-URL.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-8-Binding-URL"></a>Chapter 8. Binding URL</h1></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Examples">8.1. Binding URL Examples</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Queues">8.1.1. Binding URLs for declarin g of JMS Queues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Topics">8.1.2. Binding URLs for declaring of JMS Topics</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Topics-Wildcards">8.1.3. Wildcard characters in routing keys for topic destinations</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Extra-Examples">8.1.4. More Examples</a></span></dt></dl></dd></dl></div><p> The <span class="emphasis"><em>Binding URL</em></span> syntax for addressing<a class="footnote" href="#ftn.idp2042992" id="idp2042992"><sup class="footnote">[4]</sup></a>. It allows the specification of the bindings between a queue and an exchange, queue + and exchange creation arguments and some ancillary options.</p><p> The format for a <span class="emphasis"><em>Binding URL</em></span> is provided below </p><pre class="screen"> <Exchange Class>://<Exchange Name>/[<Destination>]/[<Queue>][?<option>='<value>'[&<option>='<value>']] </pre><p> where </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>Exchange Class</em></span>, specifies the type of the exchange, for example, <span class="emphasis"><em>direct</em></span>,<span class="emphasis"><em>topic</em></span>,<span class="emphasis"><em>fanout</em></span>, etc. @@ -124,7 +122,7 @@ Queue names may consist of any mixture of digits, letters, and underscores </p></li><li class="listitem"><p><span class="emphasis"><em>Options</em></span>, key-value pairs separated by '=' character specifying queue and exchange creation arguments, routing key, client behaviour, etc. </p></li></ul></div><p> </p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Binding URL option quoting</h3><p>Take care with the quoting surrounding option values. Each option value - <span class="emphasis"><em>must</em></span> be surrounded with single quotes ('). </p></div><p> The following <span class="emphasis"><em>Binding URL</em></span> options are currently defined: </p><div class="table"><a id="idm233114920720"></a><p class="title"><strong>Table 8.1. Binding URL options </strong></p><div class="table-contents"><table border="1" summary="Binding URL options " width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Option</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><p>durable</p></td><td><p>boolean </p></td><td><p>Queue durability flag. If it is set to <span class="emphasis"><em>true</em></span>, a durable + <span class="emphasis"><em>must</em></span> be surrounded with single quotes ('). </p></div><p> The following <span class="emphasis"><em>Binding URL</em></span> options are currently defined: </p><div class="table"><a id="idp1969056"></a><p class="title"><strong>Table 8.1. Binding URL options </strong></p><div class="table-contents"><table border="1" summary="Binding URL options " width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Option</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><p>durable</p></td><td><p>boolean </p></td><td><p>Queue durability flag. If it is set to <span class="emphasis"><em>true</em></span>, a durable queue is requested to create. The durable queue should be stored on the Broker and remained there after Broker restarts until it is explicitly deleted. This option has no meaning for JMS topic destinations, as by nature a topic destination only exists @@ -155,7 +153,7 @@ direct://amq.direct//<Queue Name> </p><p>The Binding URLs for destinations created with calls to <span class="emphasis"><em>Session.createQueue(String)</em></span> can be expressed as </p><pre class="screen"> direct://amq.direct//<Queue Name>?durable='true' - </pre><p> The durability flag is set to <span class="emphasis"><em>true</em></span> in such destinations. </p><div class="example"><a id="idm233110203024"></a><p class="title"><strong>Example 8.1. Binding URL examples for JMS queues</strong></p><div class="example-contents"><pre class="screen"> + </pre><p> The durability flag is set to <span class="emphasis"><em>true</em></span> in such destinations. </p><div class="example"><a id="idp6115920"></a><p class="title"><strong>Example 8.1. Binding URL examples for JMS queues</strong></p><div class="example-contents"><pre class="screen"> direct://amq.direct//myNonDurableQueue direct://amq.direct//myDurableQueue?durable='true' direct://amq.direct//myAnotherQueue?durable='true'&routingkey='myqueue' @@ -167,7 +165,7 @@ direct://custom.direct//yetAnotherQueue topic://amq.topic//<Queue name>?routingkey='<Topic Name>'&exclusive='true'&autodelete='true' </pre><p> </p><p>The Binding URLs for a topic destination created with calls to - <span class="emphasis"><em>Session.createTopic("hello")</em></span> is provided below: </p><div class="example"><a id="idm233110197472"></a><p class="title"><strong>Example 8.2. Binding URL examples for JMS topics</strong></p><div class="example-contents"><pre class="screen"> + <span class="emphasis"><em>Session.createTopic("hello")</em></span> is provided below: </p><div class="example"><a id="idp6121472"></a><p class="title"><strong>Example 8.2. Binding URL examples for JMS topics</strong></p><div class="example-contents"><pre class="screen"> topic://amq.topic/hello/tmp_127_0_0_1_36973_1?routingkey='hello'&exclusive='true'&autodelete='true' </pre></div></div><p><br class="example-break" /> </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-Topics-Wildcards"></a>8.1.3. Wildcard characters in routing keys for topic destinations</h3></div></div></div><p> AMQP exchanges of class <span class="emphasis"><em>topic</em></span> can route messages to the queues @@ -181,9 +179,9 @@ topic://amq.topic?routingkey='stocks.#' topic://amq.topic?routingkey='stocks.*.ibm' topic://amq.topic?routingkey='stocks.nyse.ibm' </pre><p> - </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-Extra-Examples"></a>8.1.4. More Examples</h3></div></div></div><div class="table"><a id="idm233109843872"></a><p class="title"><strong>Table 8.2. Binding URL examples</strong></p><div class="table-contents"><table border="1" summary="Binding URL examples"><colgroup><col /><col /></colgroup><thead><tr><th>Binding URL</th><th>Description</th></tr></thead><tbody><tr><td><p>fanout://amq.fanout//myQueue</p></td><td><p>Binding URL binding queue "myQueue" to predefined "amq.fanout" exchange + </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Binding-URL-Extra-Examples"></a>8.1.4. More Examples</h3></div></div></div><div class="table"><a id="idp6129232"></a><p class="title"><strong>Table 8.2. Binding URL examples</strong></p><div class="table-contents"><table border="1" summary="Binding URL examples"><colgroup><col /><col /></colgroup><thead><tr><th>Binding URL</th><th>Description</th></tr></thead><tbody><tr><td><p>fanout://amq.fanout//myQueue</p></td><td><p>Binding URL binding queue "myQueue" to predefined "amq.fanout" exchange of class "fanout"</p></td></tr><tr><td><p>topic://custom.topic//anotherQueue?routingkey='aq'</p></td><td><p>Binding URL binding queue "anotherQueue" to the exchange with name - "custom.topic" of class "topic" using binding key "aq".</p></td></tr></tbody></table></div></div><br class="table-break" /></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Connection-URL.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 7. Connection URLs </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 9. System Properties</td></tr></table></div></div> + "custom.topic" of class "topic" using binding key "aq".</p></td></tr></tbody></table></div></div><br class="table-break" /></div></div><div class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" id="ftn.idp2042992"><p><a class="para" href="#idp2042992"><sup class="para">[4] </sup></a>The client also supports the ADDR format. This is documented in <a class="ulink" href="/releases/qpid-trunk/programming/book/index.html" target="_top">Programming in Apache Qpid</a>.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Connection-URL.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-System-Properties.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 7. Connection URLs </td><td align="center" width="20% "><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 9. System Properties</td></tr></table></div></div> <hr/> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Connection.html Wed Oct 15 21:29:55 2014 @@ -108,14 +108,15 @@ <div id="-middle" class="panel"> <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>5.3. Connection</li></ul> <div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">5.3. Connection</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.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-Session.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection"></a>5.3. Connection</h2></div></div></div><p>A Connection represents an open communication channel between application and - Broker.</p><p>Connections are created from the ConnectionFactory <a class="footnote" href="#ftn.idm233112326080" id="idm233112326080"><sup class="footnote">[3]</sup></a>.</p><p>Each connection utilises a single TCP/IP connection between the process of the application + Broker.</p><p>Connections are created from the ConnectionFactory <a class="footnote" href="#ftn.idp1867216" id="idp1867216"><sup class="footnote">[3]</sup></a>.</p><p>Each connection utilises a single TCP/IP connection between the process of the application and the process of the Broker. The act of establishing a connection is therefore a relatively expensive operation. It is recommended that the same connection is used for a series of message interactions. Patterns utilising a connection per message should not be used. </p><p>The underlying TCP/IP connection remains open for the lifetime of the JMS connection. It is closed when the application calls <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/Connection.html#close()" target="_top">Connection#close()</a>, but it can also be closed if the connection is closed from the Broker side (via a Management - operation or broker shutdown or running into coditions which AMQP specifications treats as errors and mandates closing the connection). - The JMS connection will also be closed if the underlying TCP/IP connection is broken.</p><p>Qpid connections have failover and heartbeating capabilities. They support SSL and + operation or broker shutdown or running into conditions which AMQP specifications treats as + errors and mandates closing the connection). The JMS connection will also be closed if the + underlying TCP/IP connection is broken.</p><p>Qpid connections have failover and heartbeating capabilities. They support SSL and client-auth. These are described in the sub-sections that follow.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-Failover"></a>5.3.1. Failover</h3></div></div></div><p>Qpid connections support a failover feature. This is the ability to automatically re-establish a failed connection, either to the same Broker, or the next Broker in the broker list.</p><p>This failover process is done in a manner that is mostly transparent to the application. @@ -131,17 +132,17 @@ each individual broker, and the delay between each connection attempt. Also note the use of the <span class="emphasis"><em>failover option</em></span> <code class="literal">cyclecount</code> to control the number of times the failover mechanism will - traverse the brokerlist.</p><div class="example"><a id="idm233109301216"></a><p class="title"><strong>Example 5.1. Connection URL configured for failover</strong></p><div class="example-contents"><pre class="screen"> + traverse the brokerlist.</p><div class="example"><a id="idp2445760"></a><p class="title"><strong>Example 5.1. Connection URL configured for failover</strong></p><div class="example-contents"><pre class="screen"> amqp://username:password@clientid/test ?brokerlist='tcp://localhost:15672?retries='10'&connectdelay='1000';tcp://localhost:25672?retries='10'&connectdelay='1000'' &failover='roundrobin?cyclecount='20'' - </pre></div></div><br class="example-break" /><p>For full details see <a class="xref" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Chapter 7, <em>Connection URLs</em></a></p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Note, that a single broker failover is enabled by default. If the failover behaviour is not desired it can be switched off - by setting a failover option to <span class="emphasis"><em>nofailover</em></span> as in the example below - </p><div class="example"><a id="idm233109297472"></a><p class="title"><strong>Example 5.2. Connection URL configured with nofailover</strong></p><div class="example-contents"><pre class="screen"> + </pre></div></div><br class="example-break" /><p>For full details see <a class="xref" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Chapter 7, <em>Connection URLs</em></a></p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Note, that a single broker failover is enabled by default. If the failover behaviour + is not desired it can be switched off by setting a failover option to + <code class="literal">nofailover</code> as in the example below </p><div class="example"><a id="idp2577264"></a><p class="title"><strong>Example 5.2. Connection URL configured with nofailover</strong></p><div class="example-contents"><pre class="screen"> amqp://username:password@clientid/test ?brokerlist='tcp://localhost:15672?failover='nofailover' </pre></div></div><p><br class="example-break" /> - </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-Heartbeating"></a>5.3.2. Heartbeating</h3></div></div></div><p>Qpid connections support heartbeating. When enabled, the Qpid JMS client and Broker + </p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-Heartbeating"></a>5.3.2. Heartbeating</h3></div></div></div><p>Qpid connections support heartbeating. When enabled, the Qpid JMS client and Broker exchange a heartbeat during periods of inactivity. This allows both peers to discover if the TCP/IP connection becomes inoperable in a timely manner.</p><p>This feature is sometimes useful in applications that must traverse firewalls as the heartbeat prevents connections from being closed during periods when there is no application @@ -151,22 +152,30 @@ amqp://username:password@clientid/test an application level heartbeat either in addition to, or instead of the heartbeat.</p><p>If the client ever fails to receive two consecutive heartbeats, the Connection will be automatically closed and the Connection's <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a> will receive a JMSException with a linked exception of AMQDisconnectedException. Any further use - of the JMS objects (Connection, Session etc), will results in a <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p><p>To enable heartbeating either use a Connection URL including the broker option <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-Heartbeat"><code class="literal">heartbeat</code></a>, or use the system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-Heartbeat"><code class="literal">qpid.heartbeat</code></a>. </p><div class="example"><a id="idm233111273520"></a><p class="title"><strong>Example 5.3. Connection URL configured for heartbeating</strong></p><div class="example-contents"><pre class="screen"> + of the JMS objects (Connection, Session etc), will results in a <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p><p>To enable heartbeating either use a Connection URL including the broker option <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-Heartbeat"><code class="literal">heartbeat</code></a>, or use the system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-Heartbeat"><code class="literal">qpid.heartbeat</code></a>. </p><div class="example"><a id="idp2587888"></a><p class="title"><strong>Example 5.3. Connection URL configured for heartbeating</strong></p><div class="example-contents"><pre class="screen"> amqp://guest:guest@clientid/?brokerlist='localhost:5672?heartbeat='5'' </pre></div></div><br class="example-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-SSL"></a>5.3.3. SSL</h3></div></div></div><p>The Qpid JMS client supports connections encrypted using Secure Socket Layer (SSL) and SSL-Client Authentication. SSL is configured using Connection URL. To use SSL, SSL must be be configured on the Broker.</p><p>Some example Connection URLs using SSL follow:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Simple SSL when the Broker is secured by a certificate that is signed by a CA which - is trusted by the JVM.</p><div class="example"><a id="idm233111268640"></a><p class="title"><strong>Example 5.4. Connection URL configured for SSL - CA trusted by JVM</strong></p><div class="example-contents"><pre class="screen"> + is trusted by the JVM.</p><div class="example"><a id="idp5923792"></a><p class="title"><strong>Example 5.4. Connection URL configured for SSL - CA trusted by JVM</strong></p><div class="example-contents"><pre class="screen"> amqp://guest:guest@clientid/?brokerlist='localhost:5671'&ssl='true' </pre></div></div><br class="example-break" /></li><li class="listitem"><p>SSL when the Broker is secured by a certificate that is signed by a CA which is NOT trusted by the JVM (such as when a organisation is using a private CA, or self-signed certificates are in use). For this case, we use <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStore"><code class="literal">trust_store</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-TrustStorePassword"><code class="literal">trust_store_password</code></a> to specify a path a truststore file - (containing the certificate of the private-CA) and the truststore password.</p><div class="example"><a id="idm233111263600"></a><p class="title"><strong>Example 5.5. Connection URL configured for SSL - CA not trusted by JVM</strong></p><div class="example-contents"><pre class="screen"> + (containing the certificate of the private-CA) and the truststore password.</p><div class="example"><a id="idp5928928"></a><p class="title"><strong>Example 5.5. Connection URL configured for SSL - CA not trusted by JVM</strong></p><div class="example-contents"><pre class="screen"> amqp://guest:guest@clientid/?brokerlist='localhost:5671?trust_store='/path/to/acme_org_ca.ts'&trust_store_password='secret''&ssl='true' </pre></div></div><br class="example-break" /></li><li class="listitem"><p>SSL with SSL client-auth. For this case, we use <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStore"><code class="literal">key_store</code></a> and <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-KeyStorePassword"><code class="literal">key_store_password</code></a> to specify a path a keystore file - (containing the certificate of the client) and the keystore password.</p><div class="example"><a id="idm233111258592"></a><p class="title"><strong>Example 5.6. Connection URL configured for SSL - SSL client-auth</strong></p><div class="example-contents"><pre class="screen"> + (containing the certificate of the client) and the keystore password.</p><div class="example"><a id="idp5933936"></a><p class="title"><strong>Example 5.6. Connection URL configured for SSL - SSL client-auth</strong></p><div class="example-contents"><pre class="screen"> amqp://guest:guest@clientid/?brokerlist='localhost:5671?key_store='/path/to/app1_client_cert.ks'&key_store_password='secret''&ssl='true' - </pre></div></div><br class="example-break" /></li></ul></div></div><div class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" id="ftn.idm233112326080"><p><a class="para" href="#idm233112326080"><sup class="para">[3] </sup></a>Constructors of the AMQConnection class must not be used.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.html">Prev</a> </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-Session.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.2. ConnectionFactory </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> 0;5.4. Session</td></tr></table></div></div> + </pre></div></div><br class="example-break" /></li></ul></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Connection-MessageCompression"></a>5.3.4. Message Compression</h3></div></div></div><p>The client has the ability to transparently compress message payloads on outgoing + messages and decompress them on incoming messages. In some environments and with some + payloads this feature might offer performance improvements by reducing the number of bytes + transmitted over the connection.</p><p>In order to make use of message compression, the Broker must enable the feature too, + otherwise the compression options will be ignored.</p><p> To enable message compression on the client use the connection url property <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-CompressMessages"><code class="literal">compressMessages</code></a> (or JVM wide using the system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-ConnectionCompressMessages"><code class="literal">qpid.connection_compress_messages</code></a>)</p><p>It is also possible to control the threshold at which the client will begin to compress + message payloads. See connection url property <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-MessageCompressionThresholdSize"><code class="literal">messageCompressionThresholdSize</code></a> (or JVM wide using the system + property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-MessageCompressionThresholdSize"><code class="literal">qpid.message_compression_threshold_size</code></a>)</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The Broker, where necessary, takes care of compressing/decompressing messages of the + fly so that clients using message compression can exchange messages with clients not + supporting message compression transparently, without application intervention.</p></div></div><div class="footnotes"><br /><hr align="left" width="100" /><div class="footnote" id="ftn.idp1867216"><p><a class="para" href="#idp1867216"><sup class="para">[3] </sup></a>Constructors of the AMQConnection class must not be used.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.html">Prev</a> </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-Session.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.2. ConnectionFactory </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" w idth="40%"> 5.4. Session</td></tr></table></div></div> <hr/> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-ConnectionFactory.html Wed Oct 15 21:29:55 2014 @@ -112,7 +112,7 @@ InitialContext is itself obtained from an InitialContextFactory. </p><p>The Qpid JMS client provides a single implementation of the InitialContextFactory in class <code class="literal">org.apache.qpid.jndi.PropertiesFileInitialContextFactory</code>. This implementation is backed by a <a class="ulink" href="http://docs.oracle.com/javase/6/docs/api/java/util/Properties.html" target="_top">Properties</a> object which can of course be loaded from an external properties file, - or created programatically.</p><p>The examples in the previous chapter illustrated the Java code required to <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP" title="4.1. Point to point example">create the InitialContext</a> and an <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP-PropertiesFile" title="Example 4.2. JMS Example - Point to Point Messaging - JNDI Properties">example properties file</a>.</p><p>Note that the Qpid Broker does not present a JNDI interface to the application.</p><div class="figure"><a id="idm233112202976"></a><p class="title"><strong>Figure 5.2. JNDI overview</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="JNDI overview" src="images/JndiOverview.png" /></div></div></div><br class="figure-break" /></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Cli ent-0-8-Client-Understanding.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-Connection.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 5. Understanding the Qpid JMS client </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.3. Connection</td></tr></table></div></div> + or created programatically.</p><p>The examples in the previous chapter illustrated the Java code required to <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP" title="4.1. Point to point example">create the InitialContext</a> and an <a class="link" href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP-PropertiesFile" title="Example 4.2. JMS Example - Point to Point Messaging - JNDI Properties">example properties file</a>.</p><p>Note that the Qpid Broker does not present a JNDI interface to the application.</p><div class="figure"><a id="idp182240"></a><p class="title"><strong>Figure 5.2. JNDI overview</strong></p><div class="figure-contents"><div class="mediaobject"><img alt="JNDI overview" src="images/JndiOverview.png" /></div></div></div><br class="figure-break" /></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0- 8-Client-Understanding.html">Prev</a> </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-Connection.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Chapter 5. Understanding the Qpid JMS client </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.3. Connection</td></tr></table></div></div> <hr/> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageConsumer.html Wed Oct 15 21:29:55 2014 @@ -112,9 +112,8 @@ specified by the Binding URL associated with the Destination.</p></li><li class="listitem"><p>If the queue does not exist on the Broker, it will be created. The queue is specified by the Binding URL associated with the Destination.</p></li><li class="listitem"><p>If there is no binding between the exchange and queue, a binding will be created using the routingkey as a bindingkey. The exchange, queue and routing key are specified - by the Binding URL associated with the Destination.</p></li></ol></div><p>The exchange declare, queue declare and bind side effects can be suppressed using system properties - <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareExchanges"><code class="literal">qpid.declare_exchanges</code></a>, <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareQueues"><code class="literal">qpid.declare_queues</code></a> and - <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-BindQueues"><code class="literal">qpid.bind_queues</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer-TopicSubscriptions"></a>5.6.2. Topic Subscriptions</h3></div></div></div><p>The Qpid JMS client implements each subscription to a Topic as separate queue on the + by the Binding URL associated with the Destination.</p></li></ol></div><p>The exchange declare, queue declare and bind side effects can be suppressed using system + properties <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareExchanges"><code class="literal">qpid.declare_exchanges</code></a>, <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DeclareQueues"><code class="literal">qpid.declare_queues</code></a> and <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-BindQueues"><code class="literal">qpid.bind_queues</code></a>.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageConsumer-TopicSubscriptions"></a>5.6.2. Topic Subscriptions</h3></div></div></div><p>The Qpid JMS client implements each subscription to a Topic as separate queue on the Broker. From the perspective of the JMS application this implementational detail is irrelevant: the application never needs to directly address these queues. However, these details are important when considering Management and Operational concerns.</p><p>Durable topic subscriptions use a <span class="emphasis"><em>durable</em></span> and @@ -134,8 +133,8 @@ the Broker.</p><p>When using this feature, the application must either set system property <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-RejectBehaviour">qpid.reject.behaviour</a> or the Binding URL option <a class="link" href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Options-RejectBehaviour"><code class="literal">rejectbehaviour</code></a> to the value <code class="literal">server</code>.</p><p>See <a class="ulink" href="/releases/qpid-trunk/java-broker/book/Java-Broker-Runtime-Handling-Undeliverable-Messages.html#Java-Broker-Runtime-Handling-Undeliverable-Messages-Maximum-Delivery-Count" target="_top"> Handling Undeliverable Messages</a> within the Java Broker book for full details of - the functioning of this feature.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The optional JMS message header <code class="literal">JMSXDeliveryCount</code> is <span class="emphasis"><em>not</em></span> - supported.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Prev</a> </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-Destinations.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.5. MessageProducer </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.7. Destinations</td></tr></table></div></div> + the functioning of this feature.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>The optional JMS message header <code class="literal">JMSXDeliveryCount</code> is + <span class="emphasis"><em>not</em></span> supported.</p></div></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">Prev</a> </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-Destinations.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">5.5. MessageProducer </td><td align="center" width="20%"><a accesskey="h" href="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.7. Destinations</td></tr></table></div></div> <hr/> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-MessageProducer.html Wed Oct 15 21:29:55 2014 @@ -130,10 +130,7 @@ once for each returned message.</p><p>The mandatory message feature is turned <span class="emphasis"><em>on</em></span> by default for Queue destinations and <span class="emphasis"><em>off</em></span> for Topic destinations. This can be overridden using system properties <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DefaultMandatory"><code class="literal">qpid.default_mandatory</code></a> and <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-DefaultMandatoryTopic"><code class="literal">qpid.default_mandatory_topic</code></a> for Queues and Topics - respectively.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Please note, according to AMQP specifications the mandatory flag on a message tells the server - how to react if the message cannot be routed to a queue. If this flag is set, the server will return an unroutable message with a - Return method. If this flag is zero, the server silently drops the message. Please, refer <a class="ulink" href="http://www.amqp.org" target="_top">AMQP specifications</a> - for more details.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-MessageProducer-CloseWhenNoRoute"></a>5.5.2. 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 + 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="ulink" href="/releases/qpid-trunk/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="ulink" href="/releases/qpid-trunk/java-broker/book/Java-Broker-Close-Connection-When-No-Route.html" target="_top"> Closing client connections on unroutable mandatory messages</a> within the Java Broker Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding-Session.html Wed Oct 15 21:29:55 2014 @@ -133,17 +133,19 @@ will be prefetched by the session, entirely filling the prefetch buffer. Now if the application performs a blocking <a class="ulink" href="http://docs.oracle.com/javaee/6/api/javax/jms/MessageConsumer.html#receive()" target="_top">MessageConsumer#receive()</a> for Consumer B on the same Session, the application will hang indefinitely as even if messages suitable for B arrive at the Broker. Those - messages can never be sent to the Session as no space is available in prefetch. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>Please note, when the acknowlegement mode <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span> - or <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span> is set on a consuming session, - the prefetched messages are released from the prefetch buffer on transaction commit/rollback - (in case of acknowledgement mode <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span> ) - or acknowledgement of the messages receipt (in case of acknowledgement mode - <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span> ). If the consuming application does not commit/rollback - the receiving transaction (for example, due to mistakes in application exception handling logic), - the prefetched messages continue to remain in the prefetch buffer preventing the delivery of the following messages. - As result, the application might stop the receiving of the messages - until the transaction is committed/rolled back (for <span class="emphasis"><em>Session#SESSION_TRANSACTED</em></span> ) - or received messages are acknowledged (for <span class="emphasis"><em>Session#CLIENT_ACKNOWLEDGE</em></span>).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="JMS-Client-0-8-Client-Understanding-Session-TemporaryQueues"></a>5.4.2. TemporaryQueues</h3></div></div></div><p>Qpid implements JMS temporary queues as AMQP auto-delete queues. The life cycle of these + 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></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="ulink" href="http://www.eaipatterns.com/RequestReply.html" target="_top">request/reply messaging pattern</a> Modified: qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html URL: http://svn.apache.org/viewvc/qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html?rev=1632181&r1=1632180&r2=1632181&view=diff ============================================================================== --- qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html (original) +++ qpid/site/docs/releases/qpid-trunk/jms-client-0-8/book/JMS-Client-0-8-Client-Understanding.html Wed Oct 15 21:29:55 2014 @@ -107,13 +107,13 @@ <div id="-middle" class="panel"> <ul id="-path-navigation"><li><a href="/releases/index.html">Releases</a></li><li><a href="/releases/qpid-trunk/index.html">Qpid Trunk</a></li><li><a href="/releases/qpid-trunk/jms-client-0-8/book/index.html">Qpid JMS Client for AMQP protocols 0-8, 0-9 and 0-9-1</a></li><li>Chapter 5. Understanding the Qpid JMS client</li></ul> - <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-Understa nding-ConnectionFactory.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></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. Pre fetch</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-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#J MS-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"><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 + <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-Understa nding-ConnectionFactory.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-Se ssion.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-Clie nt-0-8-Client-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-Cons umerSideEffect">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"><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="ulink" href="http://download.oracle.com/otndocs/jcp/7195-jms-1.1-fr-spec-oth-JSpec/" target="_top">JMS specification</a> and the <a class="ulink" 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="idm233114961376"></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="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.2.& #160;ConnectionFactory</td></tr></table></div></div> + JMS implementations provided by other vendors.</p><div class="figure"><a id="idp868944"></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="index.html">Home</a></td><td align="right" valign="top" width="40%"> 5.2. C onnectionFactory</td></tr></table></div></div> <hr/> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org