You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/08/20 09:24:09 UTC
[05/21] qpid-site git commit: Update site for Qpid JMS AMQP 0-x
release 6.3.3
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Example.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Example.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Example.html.in
new file mode 100644
index 0000000..ff83828
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Example.html.in
@@ -0,0 +1,78 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 1. HelloWorld Example</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-10-Book.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-10-Configuring.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-10-Example"></a>Chapter 1. HelloWorld Example</h1></div></div></div><p>The following program shows how to send and receive a
+ message using the Apache Qpid JMS client for AMQP 0-10 . JMS programs typically use
+ JNDI to obtain connection factory and destination objects which
+ the application needs. In this way the configuration is kept
+ separate from the application code itself.</p><p>In this example, we create a JNDI context using a
+ properties file, use the context to lookup a connection factory,
+ create and start a connection, create a session, and lookup a
+ destination from the JNDI context. Then we create a producer and
+ a consumer, send a message with the producer and receive it with
+ the consumer. This code should be straightforward for anyone
+ familiar with JMS.</p><div class="example"><a id="d0e12"></a><p class="title"><strong>Example 1.1. "Hello world!" in Java</strong></p><div class="example-contents"><pre class="programlisting" xml:lang="java">
+package org.apache.qpid.example.jmsexample.hello;
+
+import javax.jms.*;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import java.util.Properties;
+
+public class Hello {
+
+ public Hello() {
+ }
+
+ public static void main(String[] args) {
+ Hello producer = new Hello();
+ producer.runTest();
+ }
+
+ private void runTest() {
+ try {
+ Properties properties = new Properties();
+ properties.load(this.getClass().getResourceAsStream("hello.properties")); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-properties" id="hello-java-properties"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+ Context context = new InitialContext(properties); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-context" id="hello-java-context"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a>
+
+ ConnectionFactory connectionFactory
+ = (ConnectionFactory) context.lookup("qpidConnectionfactory"); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-connection-factory" id="hello-java-connection-factory"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a>
+ Connection connection = connectionFactory.createConnection(); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-connection" id="hello-java-connection"><span><img alt="4" border="0" src="images/callouts/4.png" /></span></a>
+ connection.start(); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-start" id="hello-java-start"><span><img alt="5" border="0" src="images/callouts/5.png" /></span></a>
+
+ Session session=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);<a class="co" href="JMS-Client-0-10-Example.html#callout-java-session" id="hello-java-session"><span><img alt="6" border="0" src="images/callouts/6.png" /></span></a>
+ Destination destination = (Destination) context.lookup("topicExchange"); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-destination" id="hello-java-destination"><span><img alt="7" border="0" src="images/callouts/7.png" /></span></a>
+
+ MessageProducer messageProducer = session.createProducer(destination); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-producer" id="hello-java-producer"><span><img alt="8" border="0" src="images/callouts/8.png" /></span></a>
+ MessageConsumer messageConsumer = session.createConsumer(destination); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-consumer" id="hello-java-consumer"><span><img alt="9" border="0" src="images/callouts/9.png" /></span></a>
+
+ TextMessage message = session.createTextMessage("Hello world!");
+ messageProducer.send(message);
+
+ message = (TextMessage)messageConsumer.receive(); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-receive" id="hello-java-receive"><span><img alt="10" border="0" src="images/callouts/10.png" /></span></a>
+ System.out.println(message.getText());
+
+ connection.close(); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-close" id="hello-java-close"><span><img alt="11" border="0" src="images/callouts/11.png" /></span></a>
+ context.close(); <a class="co" href="JMS-Client-0-10-Example.html#callout-java-jndi-close" id="hello-java-jndi-close"><span><img alt="12" border="0" src="images/callouts/12.png" /></span></a>
+ }
+ catch (Exception exp) {
+ exp.printStackTrace();
+ }
+ }
+}
+</pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-properties"></a><a href="#hello-java-properties"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Loads the JNDI properties file, which specifies connection properties, queues, topics, and addressing options. See below for further details.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-context"></a><a href="#hello-java-context"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates the JNDI initial context.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-connection-factory"></a><a href="#hello-java-connection-factory"><span><img alt="3" border="0" src="images/callouts/3.png" /></span></a> </p></td><td align="le
ft" valign="top"><p>Creates a JMS connection factory for Qpid.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-connection"></a><a href="#hello-java-connection"><span><img alt="4" border="0" src="images/callouts/4.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a JMS connection.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-start"></a><a href="#hello-java-start"><span><img alt="5" border="0" src="images/callouts/5.png" /></span></a> </p></td><td align="left" valign="top"><p>Activates the connection.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-session"></a><a href="#hello-java-session"><span><img alt="6" border="0" src="images/callouts/6.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a session. This session is not transactional (transactions='false'), and messages are automatically acknowledged.</p></td></tr><tr><td align="left" valign="to
p" width="5%"><p><a id="callout-java-destination"></a><a href="#hello-java-destination"><span><img alt="7" border="0" src="images/callouts/7.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a destination for the topic exchange, so senders and receivers can use it.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-producer"></a><a href="#hello-java-producer"><span><img alt="8" border="0" src="images/callouts/8.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a producer that sends messages to the topic exchange.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-consumer"></a><a href="#hello-java-consumer"><span><img alt="9" border="0" src="images/callouts/9.png" /></span></a> </p></td><td align="left" valign="top"><p>Creates a consumer that reads messages from the topic exchange.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-receive"></a><a href="#he
llo-java-receive"><span><img alt="10" border="0" src="images/callouts/10.png" /></span></a> </p></td><td align="left" valign="top"><p>Reads the next available message.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-close"></a><a href="#hello-java-close"><span><img alt="11" border="0" src="images/callouts/11.png" /></span></a> </p></td><td align="left" valign="top"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-java-jndi-close"></a><a href="#hello-java-jndi-close"><span><img alt="12" border="0" src="images/callouts/12.png" /></span></a> </p></td><td align="left" valign="top"><p>Closes the JNDI context.</p></td></tr></table></div><p>The contents of the hello.properties file are shown below.</p><div class="example"><a id="d0e80"></a><p class="title"><strong>Example 1.2. JNDI Properties File for
"Hello world!" example</strong></p><div class="example-contents"><pre class="programlisting">
+java.naming.factory.initial
+= org.apache.qpid.jndi.PropertiesFileInitialContextFactory
+
+# connectionfactory.[jndiname] = [ConnectionURL]
+connectionfactory.qpidConnectionfactory
+= amqp://guest:guest@clientid/test?brokerlist='tcp://localhost:5672' <a class="co" href="JMS-Client-0-10-Example.html#callout-hello-properties-connectionfactory" id="hello-properties-connectionfactory"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a>
+# destination.[jndiname] = [address_string]
+destination.topicExchange = amq.topic <a class="co" href="JMS-Client-0-10-Example.html#callout-hello-properties-destination" id="hello-properties-destination"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a>
+ </pre></div></div><br class="example-break" /><div class="calloutlist"><table border="0" summary="Callout list"><tr><td align="left" valign="top" width="5%"><p><a id="callout-hello-properties-connectionfactory"></a><a href="#hello-properties-connectionfactory"><span><img alt="1" border="0" src="images/callouts/1.png" /></span></a> </p></td><td align="left" valign="top"><p>Defines a connection factory from which connections
+ can be created. The syntax of a ConnectionURL is given in
+ <a class="xref" href="JMS-Client-0-10-Configuring-JNDI.html" title="2.2. JNDI Properties">Section 2.2, “JNDI Properties”</a>.</p></td></tr><tr><td align="left" valign="top" width="5%"><p><a id="callout-hello-properties-destination"></a><a href="#hello-properties-destination"><span><img alt="2" border="0" src="images/callouts/2.png" /></span></a> </p></td><td align="left" valign="top"><p>Defines a destination for which MessageProducers
+ and/or MessageConsumers can be created to send and receive
+ messages. The value for the destination in the properties
+ file is an address string as described in
+ <a class="xref" href="JMS-Client-0-10-Configuring-Addresses.html" title="2.4. Addresses">Section 2.4, “Addresses”</a>. In the JMS
+ implementation MessageProducers are analogous to senders in
+ the Qpid Message API, and MessageConsumers are analogous to
+ receivers.</p></td></tr></table></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-10-Book.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-10-Configuring.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Apache Qpid JMS Client for AMQP 0-10 </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-0-10-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Chapter 2. Configuring the Client</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous-MapMessages.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous-MapMessages.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous-MapMessages.html.in
new file mode 100644
index 0000000..32bda63
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous-MapMessages.html.in
@@ -0,0 +1,48 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">3.2. JMS MapMessage Types</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-10-Miscellaneous.html">Prev</a> </td><th align="center" width="60%">Chapter 3. Miscellaneous</th><td align="right" width="20%"> </td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-10-Miscellaneous-MapMessages"></a>3.2. JMS MapMessage Types</h2></div></div></div><p>Qpid supports the JMS <code class="classname">MapMessage</code> interface, which provides support for maps in messages. The following code shows how to send a <code class="classname">MapMessage</code> in JMS.</p><div class="example"><a id="d0e2269"></a><p class="title"><strong>Example 3.1. Sending a JMS MapMessage</strong></p><div class="example-contents"><pre class="p
rogramlisting">
+ import java.util.ArrayList;
+ import java.util.HashMap;
+ import java.util.List;
+ import java.util.Map;
+
+ import javax.jms.Connection;
+ import javax.jms.Destination;
+ import javax.jms.MapMessage;
+ import javax.jms.MessageProducer;
+ import javax.jms.Session;
+
+ import java.util.Arrays;
+
+ // !!! SNIP !!!
+
+ MessageProducer producer = session.createProducer(queue);
+
+ MapMessage m = session.createMapMessage();
+ m.setIntProperty("Id", 987654321);
+ m.setStringProperty("name", "Widget");
+ m.setDoubleProperty("price", 0.99);
+
+ List<String> colors = new ArrayList<String>();
+ colors.add("red");
+ colors.add("green");
+ colors.add("white");
+ m.setObject("colours", colors);
+
+ Map<String,Double> dimensions = new HashMap<String,Double>();
+ dimensions.put("length",10.2);
+ dimensions.put("width",5.1);
+ dimensions.put("depth",2.0);
+ m.setObject("dimensions",dimensions);
+
+ List<List<Integer>> parts = new ArrayList<List<Integer>>();
+ parts.add(Arrays.asList(new Integer[] {1,2,5}));
+ parts.add(Arrays.asList(new Integer[] {8,2,5}));
+ m.setObject("parts", parts);
+
+ Map<String,Object> specs = new HashMap<String,Object>();
+ specs.put("colours", colors);
+ specs.put("dimensions", dimensions);
+ specs.put("parts", parts);
+ m.setObject("specs",specs);
+
+ producer.send(m);
+ </pre></div></div><br class="example-break" /><p>The following table shows the datatypes that can be sent in a <code class="classname">MapMessage</code>, and the corresponding datatypes that will be received by clients in Python or C++.</p><div class="table"><a id="table-Java-Maps"></a><p class="title"><strong>Table 3.2. Java Datatypes in Maps</strong></p><div class="table-contents"><table border="1" summary="Java Datatypes in Maps"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Java Datatype</th><th>Python</th><th>C++</th></tr></thead><tbody><tr><td>boolean</td><td>bool</td><td>bool</td></tr><tr><td>short</td><td>int | long</td><td>int16</td></tr><tr><td>int</td><td>int | long</td><td>int32</td></tr><tr><td>long</td><td>int | long</td><td>int64</td></tr><tr><td>float</td><td>float</td><td>float</td></tr><tr><td>double</td><td>float</td><td>double</td></tr><tr><td>java.lang.String</td><td>unicode</td><td>std::string</td></tr><tr><td>java.util.UUID</td><td>uuid</
td><td>qpid::types::Uuid</td></tr><tr><td>java.util.Map<a class="footnote" href="#ftn.d0e2351" id="d0e2351"><sup class="footnote">[a]</sup></a></td><td>dict</td><td>Variant::Map</td></tr><tr><td>java.util.List</td><td>list</td><td>Variant::List</td></tr></tbody><tbody class="footnotes"><tr><td colspan="3"><div class="footnote" id="ftn.d0e2351"><p><a class="para" href="#d0e2351"><sup class="para">[a] </sup></a>In Qpid, maps can nest. This goes beyond the functionality required by the JMS specification.</p></div></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-10-Miscellaneous.html">Prev</a> </td><td align="center" width="20%"><a accesskey="u" href="JMS-Client-0-10-Miscellaneous.html">Up</a></td><td align="right" width="40%"> </td></tr><tr><td align="left" valign="top" width="40%">Chapter 3. Miscellan
eous </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-0-10-Book.html">Home</a></td><td align="right" valign="top" width="40%"> </td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous.html.in
new file mode 100644
index 0000000..0a90239
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/JMS-Client-0-10-Miscellaneous.html.in
@@ -0,0 +1,8 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Chapter 3. Miscellaneous</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-10-Configuring-Logging.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-10-Miscellaneous-MapMessages.html">Next</a></td></tr></table><hr /></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a id="JMS-Client-0-10-Miscellaneous"></a>Chapter 3. Miscellaneous</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-10-Miscellaneous.html#JMS-Client-0-10-Miscellaneous-Message-Properties">3.1. JMS Message Properties</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Miscellaneous-MapMessages.html">3.2. JMS MapMessage Types</a></
span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-10-Miscellaneous-Message-Properties"></a>3.1. JMS Message Properties</h2></div></div></div><p>The following table shows how Qpid Messaging API message
+ properties are mapped to AMQP 0-10 message properties and
+ delivery properties. In this table <code class="varname">msg</code>
+ refers to the Message class defined in the Qpid Messaging API,
+ <code class="varname">mp</code> refers to an AMQP 0-10
+ <code class="varname">message-properties</code> struct, and
+ <code class="varname">dp</code> refers to an AMQP 0-10
+ <code class="varname">delivery-properties</code> struct.</p><div class="table"><a id="d0e2174"></a><p class="title"><strong>Table 3.1. JMS Mapping to AMQP 0-10 Message Properties</strong></p><div class="table-contents"><table border="1" summary="JMS Mapping to AMQP 0-10 Message Properties"><colgroup><col /><col /></colgroup><thead><tr><th>JMS Message Property</th><th>AMQP 0-10 Property<a class="footnote" href="#ftn.d0e2184" id="d0e2184"><sup class="footnote">[a]</sup></a></th></tr></thead><tbody><tr><td>JMSMessageID</td><td>mp.message_id</td></tr><tr><td>qpid.subject<a class="footnote" href="#ftn.d0e2202" id="d0e2202"><sup class="footnote">[b]</sup></a></td><td>mp.application_headers["qpid.subject"]</td></tr><tr><td>JMSXUserID</td><td>mp.user_id</td></tr><tr><td>JMSReplyTo</td><td>mp.reply_to<a class="footnote" href="#ftn.d0e2217" id="d0e2217"><sup class="footnote">[c]</sup></a></td></tr><tr><td>JMSCorrelationID</td><td>mp.correlation_id</td></tr><tr><td>JMSDeliveryM
ode</td><td>dp.delivery_mode</td></tr><tr><td>JMSPriority</td><td>dp.priority</td></tr><tr><td>JMSExpiration</td><td>dp.ttl<a class="footnote" href="#ftn.d0e2240" id="d0e2240"><sup class="footnote">[d]</sup></a></td></tr><tr><td>JMSRedelivered</td><td>dp.redelivered</td></tr><tr><td>JMS Properties</td><td>mp.application_headers</td></tr><tr><td>JMSType</td><td>mp.content_type</td></tr></tbody><tbody class="footnotes"><tr><td colspan="2"><div class="footnote" id="ftn.d0e2184"><p><a class="para" href="#d0e2184"><sup class="para">[a] </sup></a>In these entries, <code class="literal">mp</code> refers to an AMQP message property, and <code class="literal">dp</code> refers to an AMQP delivery property.</p></div><div class="footnote" id="ftn.d0e2202"><p><a class="para" href="#d0e2202"><sup class="para">[b] </sup></a>This is a custom JMS property, set automatically by the JMS client implementation.</p></div><div class="footnote" id="ftn.d0e2217"><p><a class="para" href="#d0e2217"><sup class
="para">[c] </sup></a>The reply_to is converted from the protocol representation into an address.</p></div><div class="footnote" id="ftn.d0e2240"><p><a class="para" href="#d0e2240"><sup class="para">[d] </sup></a>JMSExpiration = dp.ttl + currentTime</p></div></td></tr></tbody></table></div></div><br class="table-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-10-Configuring-Logging.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-10-Miscellaneous-MapMessages.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">2.5. Logging </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-0-10-Book.html">Home</a></td><td align="right" valign="top" width="40%"> 3.2. JMS MapMessage Types</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/css/style.css
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/css/style.css b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/css/style.css
new file mode 100644
index 0000000..8179bf4
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/css/style.css
@@ -0,0 +1,131 @@
+/*
+ *
+ * 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.
+ *
+ */
+ul {
+ list-style-type:square;
+}
+
+th {
+ font-weight: bold;
+}
+
+.navfooter td {
+ font-size:10pt;
+}
+
+.navheader td {
+ font-size:10pt;
+}
+
+body {
+ margin:0;
+ background:#FFFFFF;
+ font-family:"Verdana", sans-serif;
+ font-size:10pt;
+}
+
+.container {
+ width:950px;
+ margin:0 auto;
+}
+
+body a {
+ color:#000000;
+}
+
+
+div.book {
+ margin-left:10pt;
+ margin-right:10pt;
+}
+
+div.preface {
+ margin-left:10pt;
+ margin-right:10pt;
+}
+
+div.chapter {
+ margin-left:10pt;
+ margin-right:10pt;
+}
+
+div.section {
+ margin-left:10pt;
+ margin-right:10pt;
+}
+
+div.titlepage {
+ margin-left:-10pt;
+ margin-right:-10pt;
+}
+
+.calloutlist td {
+ font-size:10pt;
+}
+
+.table-contents table {
+ border-spacing: 0px;
+}
+
+.table-contents td {
+ font-size:10pt;
+ padding-left:6px;
+ padding-right:6px;
+}
+
+.chapter h2.title {
+ font-size:20pt;
+ color:#0c3b82;
+}
+
+.chapter .section h2.title {
+ font-size:18pt;
+ color:#0c3b82;
+}
+
+.section h2.title {
+ font-size:16pt;
+ color:#0c3b82;
+}
+
+.section h3.title {
+ font-size:14pt;
+ color:#0c3b82;
+}
+
+.section h4.title {
+ font-size:12pt;
+ color:#0c3b82;
+}
+
+.section h5.title {
+ font-size:12pt;
+ color:#0c3b82;
+}
+
+.section h6.title {
+ font-size:12pt;
+ color:#0c3b82;
+}
+
+.toc a {
+ font-size:9pt;
+}
+
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/index.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/index.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/index.html.in
new file mode 100644
index 0000000..fac5360
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/index.html.in
@@ -0,0 +1 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Apache Qpid JMS Client for AMQP 0-10</th></tr><tr><td align="left" width="20%"> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-10-Example.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 Client for AMQP 0-10</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-10-Example.html">1. HelloWorld Example</a></span></dt><dt><span class="chapter"><a href="JMS-Client-0-10-Configuring.html">2. Configuring the Client</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-10-Configuring.html#JMS-Client-0-10-Configuring-Overview">2.1. Overview</a></span></dt><dt><span class="section"><a hr
ef="JMS-Client-0-10-Configuring-JNDI.html">2.2. JNDI Properties</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-10-Configuring-JNDI.html#d0e159">2.2.1. Properties File Format</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Configuring-JNDI.html#JMS-Client-0-10-Configuring-JNDI-Connection-URL">2.2.2. Connection URLs</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-10-Configuring-JVM-Properties.html">2.3. JVM Properties</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Configuring-Addresses.html">2.4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1449">2.4.1. Address Strings</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1473">2.4.2. Subjects</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1649">2.4.3. Address String Options</a></span></dt><dt
><span class="section"><a href="JMS-Client-0-10-Configuring-Addresses.html#section-address-string-bnf">2.4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="JMS-Client-0-10-Configuring-Logging.html">2.5. Logging</a></span></dt></dl></dd><dt><span class="chapter"><a href="JMS-Client-0-10-Miscellaneous.html">3. Miscellaneous</a></span></dt><dd><dl><dt><span class="section"><a href="JMS-Client-0-10-Miscellaneous.html#JMS-Client-0-10-Miscellaneous-Message-Properties">3.1. JMS Message Properties</a></span></dt><dt><span class="section"><a href="JMS-Client-0-10-Miscellaneous-MapMessages.html">3.2. JMS MapMessage Types</a></span></dt></dl></dd></dl></div><div class="list-of-tables"><p><strong>List of Tables</strong></p><dl><dt>2.1. <a href="JMS-Client-0-10-Configuring-JNDI.html#d0e171">JNDI Properties syntax</a></dt><dt>2.2. <a href="JMS-Client-0-10-Configuring-JNDI.html#d0e234">Connection URL Properties</a></dt><dt>2.3. <a href="JMS-Client-0-10-Configur
ing-JNDI.html#d0e417">Broker List Options</a></dt><dt>2.4. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e585">Config Options For Connection Behaviour</a></dt><dt>2.5. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e647">Config Options For Session Behaviour</a></dt><dt>2.6. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e705">Config Options For Consumer Behaviour</a></dt><dt>2.7. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e812">Config Options For Producer Behaviour</a></dt><dt>2.8. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e842">Config Options For Threading</a></dt><dt>2.9. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e882">Config Options For I/O</a></dt><dt>2.10. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e1002">Config Options For Security</a></dt><dt>2.11. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e1076">Config Options For Security - Standard JVM properties needed w
hen using GSSAPI as the SASL mechanism.</a></dt><dt>2.12. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e1121">Config Options For Security - Using SSL for securing connections or using EXTERNAL as the SASL mechanism.</a></dt><dt>2.13. <a href="JMS-Client-0-10-Configuring-JVM-Properties.html#d0e1186">Config Options For Security - Standard JVM properties needed when Using SSL for securing connections or using EXTERNAL as the SASL mechanism.</a></dt><dt>2.14. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1864">Address String Options</a></dt><dt>2.15. <a href="JMS-Client-0-10-Configuring-Addresses.html#table-node-properties">Node Properties</a></dt><dt>2.16. <a href="JMS-Client-0-10-Configuring-Addresses.html#table-link-properties">Link Properties</a></dt><dt>3.1. <a href="JMS-Client-0-10-Miscellaneous.html#d0e2174">JMS Mapping to AMQP 0-10 Message Properties</a></dt><dt>3.2. <a href="JMS-Client-0-10-Miscellaneous-MapMessages.html#table-Java-Maps">Java Datatypes in
Maps</a></dt></dl></div><div class="list-of-examples"><p><strong>List of Examples</strong></p><dl><dt>1.1. <a href="JMS-Client-0-10-Example.html#d0e12">"Hello world!" in Java</a></dt><dt>1.2. <a href="JMS-Client-0-10-Example.html#d0e80">JNDI Properties File for "Hello world!" example</a></dt><dt>2.1. <a href="JMS-Client-0-10-Configuring-JNDI.html#d0e164">JNDI Properties File</a></dt><dt>2.2. <a href="JMS-Client-0-10-Configuring-JNDI.html#d0e400">Broker Lists</a></dt><dt>2.3. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1346">Queues</a></dt><dt>2.4. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1380">Topics</a></dt><dt>2.5. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1487">Using subjects</a></dt><dt>2.6. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1584">Subjects with multi-word keys</a></dt><dt>2.7. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1706">Assertions on Nodes</a></dt><dt>2.8. <a href="JMS-Client-0-10-Configuring-Addresses.
html#d0e1742">Creating a Queue Automatically</a></dt><dt>2.9. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1776">Browsing a Queue</a></dt><dt>2.10. <a href="JMS-Client-0-10-Configuring-Addresses.html#d0e1824">Using the XML Exchange</a></dt><dt>2.11. <a href="JMS-Client-0-10-Configuring-Logging.html#d0e2144">log4j Logging Properties</a></dt><dt>3.1. <a href="JMS-Client-0-10-Miscellaneous-MapMessages.html#d0e2269">Sending a JMS MapMessage</a></dt></dl></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-10-Example.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%"> </td><td align="center" width="20%"> </td><td align="right" valign="top" width="40%"> Chapter 1. HelloWorld Example</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Exceptions.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Exceptions.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Exceptions.html.in
new file mode 100644
index 0000000..d22ff41
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Exceptions.html.in
@@ -0,0 +1,54 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix A. Exceptions</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Logging-EnablingDebugLogging.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-Maven.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-Exceptions"></a>Appendix A. Exceptions</h1></div></div></div><p>The methods of the Client throw <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/JMSException.html" target="_top">JMSExceptions</a> in response to error
+ conditions. Typically the exception's message (#getMessage()) summarises the error condition,
+ with contextual information being provided by the messages of linked exception(s). To understand
+ the problem, it is important to read the messages associated with <span class="emphasis"><em>all</em></span> the
+ linked exceptions.</p><p>The following table describes some of the more common exceptions linked to JMSException
+ thrown by JMS methods whilst using the client:</p><div class="table"><a id="d0e3006"></a><p class="title"><strong>Table A.1. Exceptions linked to JMSExceptions thrown by JMS methods</strong></p><div class="table-contents"><table border="1" summary="Exceptions linked to JMSExceptions thrown by JMS methods" width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Linked Exception</th><th>Message</th><th>Explanation/Common Causes</th></tr></thead><tbody><tr><td>AMQUnresolvedAddressException</td><td><span class="emphasis"><em>message varies</em></span></td><td><p>Indicates that the hostname included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, could not be resolved, . This could mean that the hostname is
+ mispelt, or there is name resolution problem.</p></td></tr><tr><td>AMQConnectionFailure</td><td>Connection refused</td><td><p>Indicates that the host included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, actively refused the connection. This could mean that the
+ hostname and/or port number is incorrect, or the Broker may not be
+ running.</p></td></tr><tr><td>AMQConnectionFailure</td><td>connect timed out</td><td><p>Indicates that the host included in the Connection URL's <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-ConnectionOptions-Brokerlist">brokerlist</a>, could not be contacted within the <a class="link" href="JMS-Client-0-8-Connection-URL.html#JMS-Client-0-8-Connection-URL-BrokerOptions-ConnectTimeout">connecttimeout</a>. This could mean that the host is shutdown, or a networking
+ routing problem means the host is unreachable.</p></td></tr><tr><td>AMQConnectionFailure</td><td>General SSL Problem; PKIX path building failed; unable to find valid certification
+ path to requested target</td><td><p>Indicates that the CA that signed the Broker's certificate is not trusted by
+ the JVM of the client. If the Broker is using a private-CA (or a self signed
+ certificate) check that the client has been properly configured with a truststore. See
+ <a class="xref" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-SSL" title="5.3.3. SSL">Section 5.3.3, “SSL”</a></p></td></tr><tr><td>AMQConnectionFailure / AMQAuthenticationException</td><td>not allowed</td><td><p>Indicates that the user cannot be authenticated by the Broker. Check the
+ username and/or password elements within the <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Connection URL</a>.</p></td></tr><tr><td>AMQConnectionFailure / AMQSecurityException</td><td>Permission denied: <span class="emphasis"><em>virtualhost name</em></span>; access refused</td><td><p>Indicates that the user is not authorised to connect to the given
+ virtualhost. The user is recognised by the Broker and is using the correct password
+ but does not have permission. This exception normally indicates that the user (or
+ group) has not been permissioned within the Broker's <a class="link" href="../../java-broker/book/Java-Broker-Security-ACLs.html" target="_top">Access Control List
+ (ACL)</a>.</p></td></tr><tr><td>AMQTimeoutException</td><td>The server's response was not received within the time-out period of %d ms.</td><td>
+ <p>Indicates that the Broker's response to the request sent by the client was not received
+ within a timely fashion. The timeout is governed by
+ <a class="link" href="JMS-Client-0-8-System-Properties.html#JMS-Client-0-8-System-Properties-SyncOpTimeout">
+ <code class="literal">qpid.sync_op_timeout</code>
+ </a>.
+ </p>
+ <p>This can be a symptom of a heavily loaded Broker, an overloaded network or a client JVM itself which
+ is too overloaded to process incoming responses. Check for unreasonably long garbage collection pauses.
+ </p>
+ </td></tr><tr><td>AMQSecurityException</td><td>Permission denied: <span class="emphasis"><em>message varies</em></span></td><td><p>Indicates that the user is not authorised to use the given resource or
+ perform the given operation. This exception normally indicates that the user (or
+ group) has not been permissioned within the Broker's <a class="link" href="../../java-broker/book/Java-Broker-Security-ACLs.html" target="_top">Access Control List
+ (ACL)</a>.</p></td></tr><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-CertificateException"></a>CertificateException</td><td>Unable to find certificate for recipient '<recipient>'</td><td>
+ <p>When using end to end message encryption, this exception indicates the the message recipent's
+ principal cannot be found in the truststore. See <a class="xref" href="JMS-Client-Message-Encryption.html" title="Chapter 9. Message Encryption">Chapter 9, <em>Message Encryption</em></a>
+ </p>
+ </td></tr></tbody></table></div></div><br class="table-break" /><p>The following table describes some of the more common exceptions linked to JMSException sent
+ to <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ExceptionListener.html" target="_top">ExceptionListener</a>
+ instances.</p><div class="table"><a id="d0e3139"></a><p class="title"><strong>Table A.2. Exceptions linked to JMSExceptions received by ExceptionListeners</strong></p><div class="table-contents"><table border="1" summary="Exceptions linked to JMSExceptions received by ExceptionListeners" width="100%"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Linked Exception</th><th>Message</th><th>Explanation/Common Causes</th></tr></thead><tbody><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQNoRouteException"></a>AMQNoRouteException</td><td>No Route for message [Exchange: <span class="emphasis"><em>exchange name</em></span>, Routing key:
+ <span class="emphasis"><em>routing key</em></span>] [error code 312: no route]</td><td><p>Indicate that the named exchange is unable to route a message to at least one
+ queue.</p>
+ <p>This will occur if a queue has been improperly bound to an exchange. Use the
+ Broker's management interface to check the bindings. See <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-MandatoryMessage" title="5.5.1. Mandatory Messages">Section 5.5.1, “Mandatory Messages”</a></p></td></tr><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQNoConsumersException"></a>AMQNoConsumersException</td><td>Immediate delivery is not possible. [error code 313: no consumers]</td><td><p>Immediate delivery was requested by the MessageProducer, but as there are no
+ consumers on any target queue, the message has been returned to the publisher. See
+ <a class="xref" href="JMS-Client-0-8-Client-Understanding-MessageProducer.html#JMS-Client-0-8-Client-Understanding-MessageProducer-ImmediateMessage" title="5.5.3. Immediate Messages">Section 5.5.3, “Immediate Messages”</a>
+ </p></td></tr><tr><td>AMQDisconnectedException</td><td>Server closed connection and reconnection not permitted</td><td><p>Indicates that the connection was closed by the Broker, and as <a class="link" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Failover" title="5.3.1. Failover">failover
+ options</a> are not included in the Connection URL, the client has been unable to
+ reestablish connection.</p>
+ <p>The Connection is now closed and any attempt to use either Connection object, or
+ any objects created from the Connection will receive an <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p></td></tr><tr><td><a id="JMS-Client-0-8-Appendix-Exceptions-AMQDisconnectedException"></a>AMQDisconnectedException</td><td>Server closed connection and no failover was successful</td><td><p>Indicates that the connection was closed by the Broker. The client has tried
+ failover according to the rules of the <a class="link" href="JMS-Client-0-8-Client-Understanding-Connection.html#JMS-Client-0-8-Client-Understanding-Connection-Failover" title="5.3.1. Failover">failover
+ options</a>within the Connection URL, but these attempts were all
+ unsuccessful.</p>
+ <p>The Connection is now closed and any attempt to use either Connection object, or
+ any objects created from the Connection will receive an <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/IllegalStateException.html" target="_top">IllegalStateException</a>.</p></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Logging-EnablingDebugLogging.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-Maven.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">11.2. Enabling Debug </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix B. Minimal Maven POM</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in
new file mode 100644
index 0000000..37095e2
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html.in
@@ -0,0 +1,20 @@
+<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%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="JMS-Client-0-8-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 illust
rates the creation of queue binding to topic exchange with
+ JMS client.</p><div class="example"><a id="d0e3266"></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%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix C. JMS Extensions </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix D. PooledConnectionFactory</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in
new file mode 100644
index 0000000..ebc4ec0
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-JMS-Extensions.html.in
@@ -0,0 +1,15 @@
+<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-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></div><p>This section illustrates using Qpid specific extentions to JMS 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" style="clear: both"><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="d0e3251"></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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> C.2. Binding Management</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Maven.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Maven.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Maven.html.in
new file mode 100644
index 0000000..d88363f
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Maven.html.in
@@ -0,0 +1,32 @@
+<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="d0e3224"></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">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>test</groupId>
+ <artifactId>test</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-client</artifactId>
+ <version>6.3.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.6.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jms_1.1_spec</artifactId>
+ <version>1.1.1</version>
+ </dependency>
+ </dependencies>
+</project>
+
+ </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 substituted.</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="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix C. JMS Extensions</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in
new file mode 100644
index 0000000..72d7cf2
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-PooledConnecytionFactory.html.in
@@ -0,0 +1,52 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix D. PooledConnectionFactory</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.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-PooledConnecytionFactory"></a>Appendix D. PooledConnectionFactory</h1></div></div></div><p>Qpid client provides <code class="literal">PooledConnectionFactory</code> which is a special
+ implementation of <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a> supporting <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/Connection.html" target="_top">Connection</a> pooling. </p><p> The <code class="literal">PooledConnectionFactory</code> caches a predefined number of connections
+ thus saving an application which connects frequently time. The <code class="literal">Connection</code>
+ instance is taken from the pool whenever method
+ <code class="literal">PooledConnectionFactory#createConnection()</code> is invoked and returned into the
+ pool when method <code class="literal">Connection#close()</code> is called.</p><p>A user can configure a maximum allowed number of connections to remain in pool (10 by
+ default) by calling <code class="literal">PooledConnectionFactory#setMaxPoolSize(int)</code>. When number
+ of connections exceeds the value set for maximum pool size,
+ <code class="literal">PooledConnectionFactory</code> starts to work as a normal <a class="link" href="http://docs.oracle.com/javaee/6/api/javax/jms/ConnectionFactory.html" target="_top">ConnectionFactory</a> and creates
+ a new connection every time method <code class="literal">PooledConnectionFactory#createConnection()</code>
+ is invoked.</p><p>The <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Connection URL</a> is set by invoking
+ method <code class="literal">PooledConnectionFactory#setConnectionURLString(String)</code>.</p><p>A user can specify the maximum time a connection may remain idle in pool by calling
+ <code class="literal">PooledConnectionFactory#setConnectionTimeout(long)</code> passing a value in
+ milliseconds. If connection is not used within the specified interval it is closed
+ automatically. </p><p>This implementation can be useful in <span class="emphasis"><em>Spring JMS</em></span> based applications. An
+ example below demonstrates how to configure <code class="literal">PooledConnectionFactory</code> in the
+ Spring xml configuration. </p><div class="example"><a id="d0e3335"></a><p class="title"><strong>Example D.1. Example of configuring <span class="emphasis"><em>PooledConnectionFactory</em></span> in spring xml
+ configuration.</strong></p><div class="example-contents"><pre class="programlisting">
+<bean id="pooledConnectionFactory" class="org.apache.qpid.client.PooledConnectionFactory">
+ <!-- set maximum number of pool connections to 20-->
+ <property name="maxPoolSize" value="20"></property>
+ <!-- set the timeout for connection to remain open in pool without being used -->
+ <property name="connectionTimeout" value="60000"></property>
+ <!-- set connection URL as String -->
+ <property name="connectionURLString" value="amqp://guest:guest@clientid/default?brokerlist='tcp://localhost:5672?retries='300'&failover='nofailover''&maxprefetch='0'"></property>
+</bean></pre></div></div><p><br class="example-break" />
+ </p><p>
+ <span class="emphasis"><em>PooledConnectionFactory</em></span> spring bean can be configured with such
+ <span class="emphasis"><em>spring-jms</em></span> beans like
+ <span class="emphasis"><em>DefaultMessageListenerContainer</em></span> and <span class="emphasis"><em>JmsTemplate</em></span>. The
+ example below demonstrates how to do that </p><div class="example"><a id="d0e3358"></a><p class="title"><strong>Example D.2. 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>.</strong></p><div class="example-contents"><pre class="programlisting">
+<bean id="jmsProducerTemplate" class="org.springframework.jms.core.JmsTemplate">
+ <!-- set reference to pooledConnectionFactory bean -->
+ <property name="connectionFactory" ref="pooledConnectionFactory"></property>
+ <property name="defaultDestination" ref="destination" />
+</bean>
+
+<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
+ <!-- set reference to pooledConnectionFactory bean -->
+ <property name="connectionFactory" ref="pooledConnectionFactory"/>
+ <property name="destination" ref="destination"/>
+ <property name="messageListener" ref="messageListener" />
+</bean></pre></div></div><p><br class="example-break" />
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>If using <code class="literal">DefaultMessageListenerContainer</code> with
+ <code class="literal">cacheLevel</code> set to <code class="literal">NONE</code> it is important that
+ <code class="literal">maxConcurrentConsumer</code> does not exceed the value of maximum pool size set
+ on <code class="literal">PooledConnectionFactory</code> bean. If this is not the case, once the number
+ of in-use connections reaches the the <span class="emphasis"><em>PooledConnectionFactory#maxPoolSize</em></span>
+ a new connection will be opened for each and every message receipt i.e. a connection per
+ message anti-pattern.</p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-JMS-Extensions-Binding.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">C.2. Binding Management </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix E. How to bind Qpid destinations and connection factories into Tomcat JNDI</td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html.in
new file mode 100644
index 0000000..12e0940
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html.in
@@ -0,0 +1,40 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix F. Impact of Broker enforced Producer Flow Control on Client</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.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-ProducerFlowControl-Impact"></a>Appendix F. Impact of Broker enforced Producer Flow Control on Client</h1></div></div></div><p>
+ Producing sessions can be blocked by the Qpid Broker when <span class="emphasis"><em>Producer Flow Control</em></span> is enforced
+ either on
+ <a class="link" href="../../java-broker/book/Java-Broker-Runtime-Disk-Space-Management.html#Java-Broker-Runtime-Disk-Space-Management-Producer-Flow-Control" target="_top">exceeding of disk quota</a>
+ or breaching of queue capacity when
+ <a class="link" href="../../java-broker/book/Java-Broker-Concepts-Queues.html#Java-Broker-Concepts-Queue-OverflowPolicy" target="_top">Producer Flow Control Overflow Policy</a>
+ is configured on queue.
+ </p><p>
+ If a producer sends to a queue which is overfull, the broker will respond by
+ instructing the client not to send any more messages. The impact of this is
+ that any future attempts to send will block until the broker rescinds the flow control order.
+ </p><p>
+ While blocking the client will periodically log the fact that it is blocked waiting on flow control.
+ </p><pre class="programlisting">
+ WARN Message send delayed by 5s due to broker enforced flow control
+ WARN Message send delayed by 10s due to broker enforced flow control
+ </pre><p>
+ After a set period the send will timeout and throw a JMSException to the calling code.
+ </p><p>
+ If such a JMSException is thrown, the message will not be sent to the broker,
+ however the underlying Session may still be active - in particular if the
+ Session is transactional then the current transaction will not be automatically
+ rolled back. Users may choose to either attempt to resend the message, or to
+ roll back any transactional work and close the Session.
+ </p><p>
+ Both the timeout delay and the periodicity of the warning messages can be set
+ using Java system properties.
+ </p><p>
+ The amount of time (in milliseconds) to wait before timing out
+ is controlled by the property qpid.flow_control_wait_failure.
+ </p><p>
+ The frequency at which the log message informing that the producer is flow
+ controlled is sent is controlled by the system property qpid.flow_control_wait_notify_period.
+ </p><p>
+ Adding the following to the command line to start the client would result in a timeout of one minute,
+ with warning messages every ten seconds:
+ </p><pre class="programlisting">
+ -Dqpid.flow_control_wait_failure=60000
+ -Dqpid.flow_control_wait_notify_period=10000
+ </pre></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-Tomcat-JNDI-Integration.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 E. How to bind Qpid destinations and connection factories into Tomcat JNDI </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> </td></tr></table></div></div>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/qpid-site/blob/02e60e87/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in
----------------------------------------------------------------------
diff --git a/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in
new file mode 100644
index 0000000..32e0945
--- /dev/null
+++ b/input/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-8-book/JMS-Client-0-8-Appendix-Tomcat-JNDI-Integration.html.in
@@ -0,0 +1,123 @@
+<div class="docbook"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Appendix E. How to bind Qpid destinations and connection factories into Tomcat JNDI</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Prev</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.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-Tomcat-JNDI-Integration"></a>Appendix E. How to bind Qpid destinations and connection factories into Tomcat JNDI</h1></div></div></div><p>
+ Qpid client destinations and connection factories can be registered in external JNDI containers, for example, Tomcat JNDI implementation.
+ </p><p>
+ <code class="literal">org.apache.qpid.jndi.ObjectFactory</code> implements
+ <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/ObjectFactory.html" target="_top">javax.naming.spi.ObjectFactory</a>
+ allowing it to create instances of <code class="literal">AMQConnectionFactory</code>, <code class="literal">PooledConnectionFactory</code>,
+ <code class="literal">AMQConnection</code>, <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code> in external JNDI container from
+ <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a>s.
+ </p><p>Additionally,
+ <code class="literal">AMQConnectionFactory</code>, <code class="literal">PooledConnectionFactory</code> and <code class="literal">AMQDestination</code> (parent of
+ <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code>) implement
+ <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Referenceable.html" target="_top">javax.naming.Referenceable</a>
+ allowing creation of <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a> objects
+ for binding in external JNDI implementations.
+ </p><p>
+ <code class="literal">org.apache.qpid.jndi.ObjectFactory</code> allows the creation of:
+ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+ an instance of <code class="literal">ConnectionFactory</code> from a <code class="literal">Reference</code> containing reference
+ address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+ <code class="literal">connectionURL</code> with content set to a
+ <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Connection URL</a>.
+ </p></li><li class="listitem"><p>
+ an instance of <code class="literal">PooledConnectionFactory</code> from a <code class="literal">Reference</code> containing reference
+ address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+ <code class="literal">connectionURL</code> with content set to a
+ <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Connection URL</a>.
+ </p></li><li class="listitem"><p>
+ an instance of <code class="literal">AMQConnection</code> from a <code class="literal">Reference</code> containing reference
+ address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+ <code class="literal">connectionURL</code> with content set to a
+ <a class="link" href="JMS-Client-0-8-Connection-URL.html" title="Chapter 7. Connection URLs">Connection URL</a>.
+ </p></li><li class="listitem"><p>
+ an instance of <code class="literal">AMQQueue</code> from a <code class="literal">Reference</code> containing reference
+ address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+ <code class="literal">address</code> with content set to either <a class="link" href="/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/" target="_top">Address</a> or
+ <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter 8. Binding URL">Binding URL</a>.
+ </p></li><li class="listitem"><p>
+ an instance of <code class="literal">AMQTopic</code> from a <code class="literal">Reference</code> containing reference
+ address (<a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/RefAddr.html" target="_top">javax.naming.RefAddr</a>)
+ <code class="literal">address</code> with content set to either <a class="link" href="/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/" target="_top">Address</a> or
+ <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter 8. Binding URL">Binding URL</a>.
+ </p></li></ul></div><p>
+ </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+ For <code class="literal">AMQQueue</code> and <code class="literal">AMQTopic</code> prefix <code class="literal">BURL:</code> need
+ to be specified for <a class="link" href="JMS-Client-0-8-Binding-URL.html" title="Chapter 8. Binding URL">Binding URL</a>. Otherwise, client will try
+ to parse content using <a class="link" href="/releases/qpid-jms-amqp-0-x-6.3.3/jms-amqp-0-10-book/" target="_top">Address</a> format.
+ </p></div><p>
+ </p><p>An example below demonstrates how to create JNDI resources in the Tomcat container using Resource declarations in context.xml
+ (A Tomcat specific web application configuration file usually added into war under /META-INF/context.xml).
+ </p><div class="example"><a id="d0e3573"></a><p class="title"><strong>Example E.1. An example of Tomcat context.xml declaring Qpid JNDI resources</strong></p><div class="example-contents"><pre class="programlisting">
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE xml>
+<Context>
+
+ <Resource name="jms/connectionFactory" auth="Container"
+ type="org.apache.qpid.client.AMQConnectionFactory"
+ factory="org.apache.qpid.jndi.ObjectFactory"
+ connectionURL="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"/>
+
+ <Resource name="jms/pooledConnectionFactory" auth="Container"
+ type="org.apache.qpid.client.PooledConnectionFactory"
+ factory="org.apache.qpid.jndi.ObjectFactory"
+ connectionURL="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"
+ maxPoolSize="20" connectionTimeout="60000"/>
+
+ <Resource name="jms/queue" auth="Container"
+ type="org.apache.qpid.client.AMQQueue"
+ factory="org.apache.qpid.jndi.ObjectFactory"
+ address="BURL:direct://amq.direct//myQueue?durable='true'"/>
+
+ <Resource name="jms/topic" auth="Container"
+ type="org.apache.qpid.client.AMQTopic"
+ factory="org.apache.qpid.client.AMQConnectionFactory"
+ address="BURL:topic://amq.topic//myTopic?routingkey='myTopic'"/>
+
+</Context></pre></div></div><br class="example-break" /><p>In the example above <code class="literal">AMQConnectionFactory</code> would be registered under JNDI name "jms/connectionFactory",
+ <code class="literal">PooledConnectionFactory</code> would be registered under JNDI name "jms/pooledConnectionFactory",
+ <code class="literal">Queue</code> "myQueue" would be registered under JNDI name "jms/queue" and JMS <code class="literal">Topic</code>
+ destination "myTopic" would be registered under JNDI name "jms/topic". (All resources will be bound under "java:comp/env").
+ On declaration of <code class="literal">PooledConnectionFactory</code> optional maxPoolSize and connectionTimeout are set to
+ 20 and 60000 milliseconds accordingly.
+ </p><p>
+ The client application can find the resources declared in Tomcat context.xml using the code below:
+ </p><div class="example"><a id="d0e3597"></a><p class="title"><strong>Example E.2. An example of JNDI lookup for Qpid resources registered in Tomcat JNDI</strong></p><div class="example-contents"><pre class="programlisting">
+ Context context = new InitialContext();
+ Context environmentContext = (Context)context.lookup("java:comp/env");
+ ...
+ ConnectionFactory connectionFactory = (ConnectionFactory) environmentContext.lookup("jms/connectionFactory");
+ ...
+ Queue queue = (Queue)environmentContext.lookup("jms/queue");
+ ...
+ Topic topic = (Topic)environmentContext.lookup("jms/topic");
+ ...</pre></div></div><br class="example-break" /><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
+ In order to support backward compatibility <code class="literal">AMQConnectionFactory</code> continues to implement
+ <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/spi/ObjectFactory.html" target="_top">javax.naming.spi.ObjectFactory</a>
+ and can be used to instantiate JNDI resources from
+ <a class="link" href="http://docs.oracle.com/javase/7/docs/api/javax/naming/Reference.html" target="_top">javax.naming.Reference</a>s.
+ However, its method <code class="literal">getObjectInstance</code> is marked as <code class="literal">Deprecated</code> and will be
+ removed in future version of client. For backward compatibility, Qpid JNDI resources can be declared using fully
+ qualified class names as addresses. That will became unsupported in future version as well.
+ An example of Tomcat context.xml with declarations of JNDI resources using deprecated factory and addresses is provided below.
+ </p><div class="example"><a id="d0e3620"></a><p class="title"><strong>Example E.3. An example of Tomcat context.xml declaring Qpid JNDI resources using deprecated <code class="literal">ObjectFactory</code> and deprecated addresses</strong></p><div class="example-contents"><pre class="programlisting">
+<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE xml>
+<Context>
+
+ <Resource name="jms/queue" auth="Container"
+ type="org.apache.qpid.client.AMQQueue"
+ factory="org.apache.qpid.client.AMQConnectionFactory"
+ org.apache.qpid.client.AMQQueue="direct://amq.direct//myDurableQueue?durable='true'"/>
+
+ <Resource name="jms/topic" auth="Container"
+ type="org.apache.qpid.client.AMQTopic"
+ factory="org.apache.qpid.client.AMQConnectionFactory"
+ org.apache.qpid.client.AMQTopic="topic://amq.topic//myTopic?routingkey='myTopic'"/>
+
+ <Resource name="jms/connectionFactory" auth="Container"
+ type="org.apache.qpid.client.AMQConnectionFactory"
+ factory="org.apache.qpid.client.AMQConnectionFactory"
+ org.apache.qpid.client.AMQConnectionFactory="amqp://guest:guest@clientid/?brokerlist='localhost:5672'"/>
+
+</Context></pre></div></div><p><br class="example-break" />
+ </p></div></div><div class="navfooter"><hr /><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="JMS-Client-0-8-Appendix-PooledConnecytionFactory.html">Prev</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="JMS-Client-0-8-Appendix-ProducerFlowControl-Impact.html">Next</a></td></tr><tr><td align="left" valign="top" width="40%">Appendix D. PooledConnectionFactory </td><td align="center" width="20%"><a accesskey="h" href="JMS-Client-Book.html">Home</a></td><td align="right" valign="top" width="40%"> Appendix F. Impact of Broker enforced Producer Flow Control on Client</td></tr></table></div></div>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org