blob: a21c3cc972751feeb0ada733e9628683ab54fa18 [file] [log] [blame]
<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Apache Qpid JMS AMQP 0-8/0-9/0-9-1</th></tr><tr><td align="left" width="20%">&#160;</td><th align="center" width="60%">&#160;</th><td align="right" width="20%">&#160;<a accesskey="n" href="JMS-Client-0-8-Introduction.html">Next</a></td></tr></table><hr /></div><div class="book"><div class="titlepage"><div><div><h1 class="title"><a id="d0e2"></a>Apache Qpid JMS AMQP 0-8/0-9/0-9-1</h1></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="JMS-Client-0-8-Introduction.html">1. Introduction</a></span></dt><dt><span class="chapter"><a href="JMS-Client-0-8-Document-Scope-And-Intended-Audience.html">2. Document Scope And Intended Audience</a></span></dt><dt><span class="chapter"><a href="JMS-Client-0-8-JMS-Getting-And-Dependencies.html">3. Getting the Client And Dependencies</a></span></dt><dd><dl><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 class="section"><a href="JMS-Client-0-8-JMS-Getting-And-Dependencies-Dependencies.html">3.2. Dependencies</a></span></dt></dl></dd><dt><span class="chapter"><a href="JMS-Client-0-8-Examples.html">4. Examples</a></span></dt><dd><dl><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></dd><dt><span class="chapter"><a href="JMS-Client-0-8-Client-Understanding.html">5. Understanding the Client</a></span></dt><dd><dl><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-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-Session.html">5.4. Session</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-Prefecth">5.4.1. Prefetch</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-TemporaryQueues">5.4.2. TemporaryQueues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-CreateQueue">5.4.3. CreateQueue</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-Session.html#JMS-Client-0-8-Client-Understanding-Session-CreateTopic">5.4.4. CreateTopic</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html">5.5. MessageProducer</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-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-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></dd><dt><span class="chapter"><a href="JMS-Client-0-8-JNDI-Properties-Format.html">6. JNDI Properties Format</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-JNDI-Properties-Format.html#JMS-Client-0-8-JNDI-Properties-Format-ConnectionFactory">6.1. ConnectionFactory</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-JNDI-Properties-Format-Queue.html">6.2. Queue</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-JNDI-Properties-Format-Topic.html">6.3. Topic</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-JNDI-Properties-Format-Destination.html">6.4. Destination</a></span></dt></dl></dd><dt><span class="chapter"><a href="JMS-Client-0-8-Connection-URL.html">7. Connection URLs</a></span></dt><dt><span class="chapter"><a href="JMS-Client-0-8-Binding-URL.html">8. Binding URL</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Examples">8.1. Binding URL Examples</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Queues">8.1.1. Binding URLs for declaring of JMS Queues</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-JMS-Topics">8.1.2. Binding URLs for declaring of JMS Topics</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Topics-Wildcards">8.1.3. Wildcard characters in routing keys for topic destinations</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Binding-URL.html#JMS-Client-0-8-Binding-URL-Extra-Examples">8.1.4. More Examples</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="JMS-Client-Message-Encryption.html">9. Message Encryption</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-Message-Encryption.html#JMS-Client-Message-Encryption-Overview">9.1. Overview</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Sending.html">9.2. Sending an Encrypted Message</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-Message-Encryption-Sending.html#JMS-Client-Message-Encryption-Sending-Setting-TrustStore">9.2.1. Providing the Trust Store</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Sending.html#JMS-Client-Message-Encryption-Sending-Enabling-Encryption">9.2.2. Enabling Encryption</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Sending.html#JMS-Client-Message-Encryption-Sending-Choosing-Recipients">9.2.3. Choosing Recipients</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Sending.html#JMS-Client-Message-Encryption-Sending-Exposing-Properties">9.2.4. Exposing Properties</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-Message-Encryption-Receiving.html">9.3. Receiving an Encrypted Message</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-Message-Encryption-Receiving.html#JMS-Client-Message-Encryption-Sending-Setting-KeyStore">9.3.1. Providing the Key Store</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html">9.4. Message Encryption Example</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html#JMS-Client-Message-Encryption-Example-Introduction">9.4.1. Introduction</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html#JMS-Client-Message-Encryption-Example-Prerequisites">9.4.2. Prerequisites</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html#JMS-Client-Message-Encryption-Example-Broker-Config">9.4.3. Broker Configuration</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html#JMS-Client-Message-Encryption-Example-Client-Config">9.4.4. Client Configuration</a></span></dt><dt><span class="section"><a href="JMS-Client-Message-Encryption-Example.html#JMS-Client-Message-Encryption-Example-Application">9.4.5. Application Code</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="JMS-Client-0-8-System-Properties.html">10. System Properties</a></span></dt><dt><span class="chapter"><a href="JMS-Client-0-8-Logging.html">11. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Logging.html#JMS-Client-0-8-Logging-RecommendedProductionLoggingLevel">11.1. Recommended Production Logging Level</a></span></dt><dt><span class="section"><a href="JMS-Client-0-8-Logging-EnablingDebugLogging.html">11.2. Enabling Debug</a></span></dt></dl></dd><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-Exceptions.html">A. Exceptions</a></span></dt><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-Maven.html">B. Minimal Maven POM</a></span></dt><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html">C. JMS Extensions</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Client-0-8-Appendix-JMS-Extensions-Queue">C.1. Queue Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#JMS-Client-0-8-Appendix-JMS-Extensions-Queue-Creation">C.1.1. Queue creation</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">C.2. Binding Management</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html#JMS-Client-0-8-Appendix-JMS-Extensions-Binding-Creation">C.2.1. Binding creation</a></span></dt></dl></dd></dl></dd><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">D. PooledConnectionFactory</a></span></dt><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html">E. How to bind Qpid destinations and connection factories into Tomcat JNDI</a></span></dt><dt><span class="appendix"><a href="JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html">F. Impact of Broker enforced Producer Flow Control on Client</a></span></dt></dl></div><div class="list-of-figures"><p><strong>List of Figures</strong></p><dl><dt>5.1. <a href="JMS-Client-0-8-Client-Understanding.html#d0e333">Architecture of a typical JMS application</a></dt><dt>5.2. <a href="JMS-Client-0-8-Client-Understanding-ConnectionFactory.html#d0e375">JNDI overview</a></dt></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>7.1. <a href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-Options">Connection URL Options</a></dt><dt>7.2. <a href="JMS-Client-0-8-Connection-URL.html#d0e1374">Broker List Options</a></dt><dt>8.1. <a href="JMS-Client-0-8-Binding-URL.html#d0e1707">Binding URL options </a></dt><dt>8.2. <a href="JMS-Client-0-8-Binding-URL.html#d0e1916">Binding URL examples</a></dt><dt>10.1. <a href="JMS-Client-0-8-System-Properties.html#d0e2179">System Properties Affecting Connection Behaviour</a></dt><dt>10.2. <a href="JMS-Client-0-8-System-Properties.html#d0e2270">Config Options For Session Behaviour</a></dt><dt>10.3. <a href="JMS-Client-0-8-System-Properties.html#d0e2335">Config Options For Consumer Behaviour</a></dt><dt>10.4. <a href="JMS-Client-0-8-System-Properties.html#d0e2427">Config Options For Producer Behaviour</a></dt><dt>10.5. <a href="JMS-Client-0-8-System-Properties.html#d0e2520">Config Options For Threading</a></dt><dt>10.6. <a href="JMS-Client-0-8-System-Properties.html#d0e2560">Config Options For I/O</a></dt><dt>10.7. <a href="JMS-Client-0-8-System-Properties.html#d0e2667">Config Options For Security</a></dt><dt>10.8. <a href="JMS-Client-0-8-System-Properties.html#d0e2742">Config Options For Security - Standard JVM properties needed when using GSSAPI as the
SASL mechanism.</a></dt><dt>10.9. <a href="JMS-Client-0-8-System-Properties.html#d0e2787">Config Options For Security - Using SSL for securing connections or using EXTERNAL as
the SASL mechanism.</a></dt><dt>10.10. <a href="JMS-Client-0-8-System-Properties.html#d0e2852">Config Options For Security - Standard JVM properties needed when Using SSL for
securing connections or using EXTERNAL as the SASL mechanism.</a></dt><dt>A.1. <a href="JMS-Client-0-8-Appendix-Exceptions.html#d0e3006">Exceptions linked to JMSExceptions thrown by JMS methods</a></dt><dt>A.2. <a href="JMS-Client-0-8-Appendix-Exceptions.html#d0e3139">Exceptions linked to JMSExceptions received by ExceptionListeners</a></dt></dl></div><div class="list-of-examples"><p><strong>List of Examples</strong></p><dl><dt>4.1. <a href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP-Java">JMS Example - Point to Point Messaging</a></dt><dt>4.2. <a href="JMS-Client-0-8-Examples.html#JMS-Client-0-8-Examples-PTP-PropertiesFile">JMS Example - Point to Point Messaging - JNDI Properties</a></dt><dt>4.3. <a href="JMS-Client-0-8-Examples-PubSub.html#JMS-Client-0-8-Examples-PubSub-Java">JMS Example - Publish/subscribe Messaging</a></dt><dt>4.4. <a href="JMS-Client-0-8-Examples-PubSub.html#JMS-Client-0-8-Examples-PubSub-PropertiesFile">JMS Example - Publish/subscribe Messaging - JNDI Properties</a></dt><dt>5.1. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e445">Connection URL configured for failover</a></dt><dt>5.2. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e459">Connection URL configured with nofailover</a></dt><dt>5.3. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e495">Connection URL configured for heartbeating</a></dt><dt>5.4. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e511">Connection URL configured for SSL - CA trusted by JVM</a></dt><dt>5.5. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e527">Connection URL configured for SSL - CA not trusted by JVM</a></dt><dt>5.6. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e543">Connection URL configured for SSL - SSL client-auth</a></dt><dt>5.7. <a href="JMS-Client-0-8-Client-Understanding-Connection.html#d0e558">Connection URL configured for SSL - SSL client-auth (2)</a></dt><dt>7.1. <a href="JMS-Client-0-8-Connection-URL.html#d0e1349">Broker Lists</a></dt><dt>8.1. <a href="JMS-Client-0-8-Binding-URL.html#d0e1873">Binding URL examples for JMS queues</a></dt><dt>8.2. <a href="JMS-Client-0-8-Binding-URL.html#d0e1891">Binding URL examples for JMS topics</a></dt><dt>B.1. <a href="JMS-Client-0-8-Appendix-Maven.html#d0e3224">Minimal Maven POM </a></dt><dt>C.1. <a href="JMS-Client-0-8-Appendix-JMS-Extensions.html#d0e3251">Creation of an LVQ using the Qpid extension to JMS</a></dt><dt>C.2. <a href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html#d0e3266">Binding a queue using JMS</a></dt><dt>D.1. <a href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html#d0e3335">Example of configuring <span class="emphasis"><em>PooledConnectionFactory</em></span> in spring xml
configuration.</a></dt><dt>D.2. <a href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html#d0e3358">Examples of configuring <span class="emphasis"><em>PooledConnectionFactory</em></span> with
<span class="emphasis"><em>DefaultMessageListenerContainer</em></span> and
<span class="emphasis"><em>JmsTemplate</em></span>.</a></dt><dt>E.1. <a href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html#d0e3573">An example of Tomcat context.xml declaring Qpid JNDI resources</a></dt><dt>E.2. <a href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html#d0e3597">An example of JNDI lookup for Qpid resources registered in Tomcat JNDI</a></dt><dt>E.3. <a href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html#d0e3620">An example of Tomcat context.xml declaring Qpid JNDI resources using deprecated <code class="literal">ObjectFactory</code> and deprecated addresses</a></dt></dl></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%">&#160;</td><td align="center" width="20%">&#160;</td><td align="right" width="40%">&#160;<a accesskey="n" href="JMS-Client-0-8-Introduction.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">&#160;</td><td align="center" width="20%">&#160;</td><td align="right" valign="top" width="40%">&#160;Chapter&#160;1.&#160;Introduction</td></tr></table></div></div>