You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by jo...@apache.org on 2011/02/02 23:58:38 UTC
svn commit: r1066676 [4/8] - in /qpid/site/docs/books/trunk:
AMQP-Messaging-Broker-CPP-Book/html/ AMQP-Messaging-Broker-CPP-Book/pdf/
AMQP-Messaging-Broker-Java-Book/html/ AMQP-Messaging-Broker-Java-Book/pdf/
Programming-In-Apache-Qpid/html/ Programmin...
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04.html Wed Feb 2 22:58:35 2011
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4. Management Tools</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="up" href="pt01.html" title="Part I. AMQP Messaging Broker (Implemented in Java)"><link rel="prev" href="ch03.html" title="Chapter 3. Qpid JMX Management Console"><link rel="next" href="ch04s02.html" title="4.2. Qpid Java Broker Management CLI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Management Tools</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Part I. AMQP Messaging Broker (Implemented in Java)</th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></t
r></table><hr></div><div class="chapter" title="Chapter 4. Management Tools"><div class="titlepage"><div><div><h2 class="title"><a name="QpidJavaBroker-ManagementTools"></a>Chapter 4. Management Tools</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#id2611221">4.1.
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 4. Management Tools</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="up" href="pt01.html" title="Part I. AMQP Messaging Broker (Implemented in Java)"><link rel="prev" href="ch03.html" title="Chapter 3. Qpid JMX Management Console"><link rel="next" href="ch04s02.html" title="4.2. Qpid Java Broker Management CLI"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 4. Management Tools</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03.html">Prev</a> </td><th width="60%" align="center">Part I. AMQP Messaging Broker (Implemented in Java)</th><td width="20%" align="right"> <a accesskey="n" href="ch04s02.html">Next</a></td></t
r></table><hr></div><div class="chapter" title="Chapter 4. Management Tools"><div class="titlepage"><div><div><h2 class="title"><a name="QpidJavaBroker-ManagementTools"></a>Chapter 4. Management Tools</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch04.html#id2864601">4.1.
MessageStore Tool
</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#MessageStoreTool-MessageStoreTool">4.1.1.
MessageStore Tool
@@ -7,7 +7,7 @@
</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s02.html#QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI">4.2.1.
How to
build Apache Qpid CLI
- </a></span></dt></dl></dd></dl></div><div class="section" title="4.1. MessageStore Tool"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2611221"></a>4.1.
+ </a></span></dt></dl></dd></dl></div><div class="section" title="4.1. MessageStore Tool"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2864601"></a>4.1.
MessageStore Tool
</h2></div></div></div><div class="section" title="4.1.1. MessageStore Tool"><div class="titlepage"><div><div><h3 class="title"><a name="MessageStoreTool-MessageStoreTool"></a>4.1.1.
MessageStore Tool
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04s02.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04s02.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/ch04s02.html Wed Feb 2 22:58:35 2011
@@ -1,6 +1,6 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>4.2. Qpid Java Broker Management CLI</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="up" href="ch04.html" title="Chapter 4. Management Tools"><link rel="prev" href="ch04.html" title="Chapter 4. Management Tools"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">4.2.
Qpid Java Broker Management CLI
- </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Management Tools</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="section" title="4.2. Qpid Java Broker Management CLI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2629614"></a>4.2.
+ </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. Management Tools</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="section" title="4.2. Qpid Java Broker Management CLI"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2842682"></a>4.2.
Qpid Java Broker Management CLI
</h2></div></div></div><div class="section" title="4.2.1. How to build Apache Qpid CLI"><div class="titlepage"><div><div><h3 class="title"><a name="QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI"></a>4.2.1.
How to
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/index.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/index.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/index.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/index.html Wed Feb 2 22:58:35 2011
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="next" href="pt01.html" title="Part I. AMQP Messaging Broker (Implemented in Java)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. AMQP Messaging Broker (Implemented in Java)</a></span></dt><dd><dl><dt><span class="chapter"><a href="ch01.html">1. General User Guides</a></span></dt>
<dd><dl><dt><span class="section"><a href="ch01.html#id2614054">1.1.
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title></title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="next" href="pt01.html" title="Part I. AMQP Messaging Broker (Implemented in Java)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"></th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr></table><hr></div><div class="book"><div class="titlepage"><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. AMQP Messaging Broker (Implemented in Java)</a></span></dt><dd><dl><dt><span class="chapter"><a href="ch01.html">1. General User Guides</a></span></dt>
<dd><dl><dt><span class="section"><a href="ch01.html#id2853364">1.1.
Java Broker Feature Guide
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1.1.
The Qpid pure Java broker currently supports the following
@@ -27,7 +27,7 @@
</a></span></dt><dt><span class="section"><a href="ch01s04.html#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">1.4.5.
When I try to send messages to a queue I'm getting a error as
the queue does not exist. What can I do ?
- </a></span></dt></dl></dd><dt><span class="section"><a href="ch01s05.html">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s05.html#id2628870">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2641252">2.1.
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch01s05.html">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s05.html#id2887009">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2872304">2.1.
Add New Users
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#AddNewUsers-AvailablePasswordfileformats">2.1.1.
Available
@@ -100,11 +100,11 @@
Priority Queues
</a></span></dt><dt><span class="section"><a href="ch02s10.html#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">2.10.3.
Client configuration/messaging model for priority queues
- </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s11.html">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#id2627511">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2616861">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2643114">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2634118">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="ch02s11.html#id2630213">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2601057">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3.
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s11.html">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#id2846165">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2871745">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2880646">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2844787">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="ch02s11.html#id2884939">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2855825">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3.
Qpid JMX Management Console
</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#QpidJMXManagementConsole-QpidJMXManagementConsole">3.1. Qpid JMX Management Console </a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#QpidJMXManagementConsole-Overview">3.1.1.
Overview
- </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#id2611221">4.1.
+ </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#id2864601">4.1.
MessageStore Tool
</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#MessageStoreTool-MessageStoreTool">4.1.1.
MessageStore Tool
@@ -113,6 +113,6 @@
</a></span></dt><dd><dl><dt><span class="section"><a href="ch04s02.html#QpidJavaBrokerManagementCLI-HowtobuildApacheQpidCLI">4.2.1.
How to
build Apache Qpid CLI
- </a></span></dt></dl></dd></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="ch01s02.html#id2628253">
+ </a></span></dt></dl></dd></dl></dd></dl></dd></dl></div><div class="list-of-tables"><p><b>List of Tables</b></p><dl><dt>1.1. <a href="ch01s02.html#id2890448">
Command Line Options
- </a></dt><dt>2.1. <a href="ch02.html#id2631236">File Format and Principal Database</a></dt><dt>2.2. <a href="ch02s08.html#id2616900"></a></dt><dt>2.3. <a href="ch02s09.html#id2640982"></a></dt><dt>2.4. <a href="ch02s09.html#id2623944"></a></dt><dt>2.5. <a href="ch02s09.html#id2626175"></a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Part I. AMQP Messaging Broker (Implemented in Java)</td></tr></table></div></body></html>
+ </a></dt><dt>2.1. <a href="ch02.html#id2876787">File Format and Principal Database</a></dt><dt>2.2. <a href="ch02s08.html#id2844768"></a></dt><dt>2.3. <a href="ch02s09.html#id2864071"></a></dt><dt>2.4. <a href="ch02s09.html#id2871965"></a></dt><dt>2.5. <a href="ch02s09.html#id2866500"></a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Part I. AMQP Messaging Broker (Implemented in Java)</td></tr></table></div></body></html>
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/pt01.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/pt01.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/pt01.html (original)
+++ qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/html/pt01.html Wed Feb 2 22:58:35 2011
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Part I. AMQP Messaging Broker (Implemented in Java)</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="up" href="index.html" title=""><link rel="prev" href="index.html" title=""><link rel="next" href="ch01.html" title="Chapter 1. General User Guides"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. AMQP Messaging Broker (Implemented in Java)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="part" title="Part I. AMQP Messaging Broker (Implemented in Java)"><div c
lass="titlepage"><div><div><h1 class="title"><a name="id2599949"></a>Part I. AMQP Messaging Broker (Implemented in Java)</h1></div></div></div><div class="partintro" title="AMQP Messaging Broker (Implemented in Java)"><div></div><p>Qpid provides two AMQP messaging brokers:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Implemented in C++ - high performance, low latency, and RDMA support.</p></li><li class="listitem"><p>Implemented in Java - Fully JMS compliant, runs on any Java platform.</p></li></ul></div><p>Both AMQP messaging brokers support clients in multiple languages, as long as the messaging client and the messaging broker use the same version of AMQP. See <a class="link" href="">???</a> to see which messaging clients work with each broker.</p><p>This section contains information specific to the broker that is implemented in Java.</p><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch0
1.html">1. General User Guides</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2614054">1.1.
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Part I. AMQP Messaging Broker (Implemented in Java)</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title=""><link rel="up" href="index.html" title=""><link rel="prev" href="index.html" title=""><link rel="next" href="ch01.html" title="Chapter 1. General User Guides"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. AMQP Messaging Broker (Implemented in Java)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr></div><div class="part" title="Part I. AMQP Messaging Broker (Implemented in Java)"><div c
lass="titlepage"><div><div><h1 class="title"><a name="id2847264"></a>Part I. AMQP Messaging Broker (Implemented in Java)</h1></div></div></div><div class="partintro" title="AMQP Messaging Broker (Implemented in Java)"><div></div><p>Qpid provides two AMQP messaging brokers:</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>Implemented in C++ - high performance, low latency, and RDMA support.</p></li><li class="listitem"><p>Implemented in Java - Fully JMS compliant, runs on any Java platform.</p></li></ul></div><p>Both AMQP messaging brokers support clients in multiple languages, as long as the messaging client and the messaging broker use the same version of AMQP. See <a class="link" href="">???</a> to see which messaging clients work with each broker.</p><p>This section contains information specific to the broker that is implemented in Java.</p><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch0
1.html">1. General User Guides</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#id2853364">1.1.
Java Broker Feature Guide
</a></span></dt><dd><dl><dt><span class="section"><a href="ch01.html#JavaBrokerFeatureGuide-TheQpidpureJavabrokercurrentlysupportsthefollowingfeatures-3A">1.1.1.
The Qpid pure Java broker currently supports the following
@@ -27,7 +27,7 @@
</a></span></dt><dt><span class="section"><a href="ch01s04.html#QpidTroubleshootingGuide-WhenItrytosendmessagestoaqueueI-27mgettingaerrorasthequeuedoesnotexist.WhatcanIdo-3F">1.4.5.
When I try to send messages to a queue I'm getting a error as
the queue does not exist. What can I do ?
- </a></span></dt></dl></dd><dt><span class="section"><a href="ch01s05.html">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s05.html#id2628870">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2641252">2.1.
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch01s05.html">1.5. Broker Configuration Guide </a></span></dt><dd><dl><dt><span class="section"><a href="ch01s05.html#id2887009">1.5.1. Topic Configuration on Java Broker</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch02.html">2. How Tos</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#id2872304">2.1.
Add New Users
</a></span></dt><dd><dl><dt><span class="section"><a href="ch02.html#AddNewUsers-AvailablePasswordfileformats">2.1.1.
Available
@@ -100,11 +100,11 @@
Priority Queues
</a></span></dt><dt><span class="section"><a href="ch02s10.html#UsePriorityQueues-Clientconfiguration-2Fmessagingmodelforpriorityqueues">2.10.3.
Client configuration/messaging model for priority queues
- </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s11.html">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#id2627511">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2616861">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2643114">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2634118">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="ch02s11.html#id2630213">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2601057">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3.
+ </a></span></dt></dl></dd><dt><span class="section"><a href="ch02s11.html">2.11. Slow Consumer Disconnect - User Guide</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#id2846165">2.11.1. Introduction</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2871745">2.11.2. What can it do?</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2880646">2.11.3. Frequency of SCD Checking</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2844787">2.11.4. Client Exception<span class="bold"><strong>s</strong></span></a></span></dt><dt><span class="section"><a href="ch02s11.html#id2884939">2.11.5. Disconnection Thresholds</a></span></dt><dt><span class="section"><a href="ch02s11.html#id2855825">2.11.6. Important Points To Note</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch03.html">3.
Qpid JMX Management Console
</a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#QpidJMXManagementConsole-QpidJMXManagementConsole">3.1. Qpid JMX Management Console </a></span></dt><dd><dl><dt><span class="section"><a href="ch03.html#QpidJMXManagementConsole-Overview">3.1.1.
Overview
- </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#id2611221">4.1.
+ </a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="ch04.html">4. Management Tools</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#id2864601">4.1.
MessageStore Tool
</a></span></dt><dd><dl><dt><span class="section"><a href="ch04.html#MessageStoreTool-MessageStoreTool">4.1.1.
MessageStore Tool
Modified: qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/pdf/AMQP-Messaging-Broker-Java-Book.pdf
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/AMQP-Messaging-Broker-Java-Book/pdf/AMQP-Messaging-Broker-Java-Book.pdf?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
Binary files - no diff available.
Modified: qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch01.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch01.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch01.html (original)
+++ qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch01.html Wed Feb 2 22:58:35 2011
@@ -1,16 +1,16 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="index.html" title="Programming in Apache Qpid"><link rel="next" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1. Introduction">
<div class="titlepage"><div><div><h2 class="title"><a name="id3046592"></a>Chapter 1. Introduction</h2></div></div></div><p>Apache Qpid is a reliable, asynchronous messaging system that
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 1. Introduction</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="index.html" title="Programming in Apache Qpid"><link rel="next" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 1. Introduction</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="chapter" title="Chapter 1. Introduction">
<div class="titlepage"><div><div><h2 class="title"><a name="id2630947"></a>Chapter 1. Introduction</h2></div></div></div><p>Apache Qpid is a reliable, asynchronous messaging system that
supports the AMQP messaging protocol in several common programming
languages. Qpid is supported on most common platforms.
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
On the Java platform, Qpid uses the
established <a class="ulink" href="http://java.sun.com/products/jms/" target="_top">Java JMS
- API</a>.
+ API</a>.
</p></li><li class="listitem"><p>
For Python, C++, and .NET, Qpid defines its own messaging API, the
<em class="firstterm">Qpid Messaging API</em>, which is
conceptually similar in each.
</p><p>
- On the .NET platform, Qpid also provides a WCF binding.
+ On the .NET platform, Qpid also provides a WCF binding.
</p></li><li class="listitem"><p>
Ruby will also use the Qpid Messaging API, which will soon
be implemented. (Ruby currently uses an API that is closely
Modified: qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02.html (original)
+++ qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02.html Wed Feb 2 22:58:35 2011
@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Using the Qpid Messaging API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Using the Qpid Messaging API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter
" title="Chapter 2. Using the Qpid Messaging API"><div class="titlepage"><div><div><h2 class="title"><a name="id3049684"></a>Chapter 2. Using the Qpid Messaging API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id3073113">2.1. A Simple Messaging Program in C++</a></span></dt><dt><span class="section"><a href="ch02s02.html">2.2. A Simple Messaging Program in Python</a></span></dt><dt><span class="section"><a href="ch02s03.html">2.3. A Simple Messaging Program in .NET C#</a></span></dt><dt><span class="section"><a href="ch02s04.html">2.4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s04.html#id3065421">2.4.1. Address Strings</a></span></dt><dt><span class="section"><a href="ch02s04.html#id3068029">2.4.2. Subjects</a></span></dt><dt><span class="section"><a href="ch02s04.html#id3063829">2.4.3. Address String Options</a></span></dt><dt><span class="section"><a href="ch02s04.ht
ml#section-address-string-bnf">2.4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">2.5. Sender Capacity and Replay</a></span></dt><dt><span class="section"><a href="ch02s06.html">2.6. Receiver Capacity (Prefetch)</a></span></dt><dt><span class="section"><a href="ch02s07.html">2.7. Acknowledging Received Messages</a></span></dt><dt><span class="section"><a href="ch02s08.html">2.8. Receiving Messages from Multiple Sources</a></span></dt><dt><span class="section"><a href="ch02s09.html">2.9. Transactions</a></span></dt><dt><span class="section"><a href="ch02s10.html">2.10. Connection Options</a></span></dt><dt><span class="section"><a href="ch02s11.html">2.11. Maps in Message Content</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#section-Python-Maps">2.11.1. Qpid Maps in Python</a></span></dt><dt><span class="section"><a href="ch02s11.html#section-cpp-Maps">2.11.2. Qpid Maps in C++</a></span></dt><dt><sp
an class="section"><a href="ch02s11.html#section-dotnet-Maps">2.11.3. Qpid Maps in .NET</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s12.html">2.12. The Request / Response Pattern</a></span></dt><dt><span class="section"><a href="ch02s13.html">2.13. Performance Tips</a></span></dt><dt><span class="section"><a href="ch02s14.html">2.14. Cluster Failover</a></span></dt><dt><span class="section"><a href="ch02s15.html">2.15. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s15.html#id3083576">2.15.1. Logging in C++</a></span></dt><dt><span class="section"><a href="ch02s15.html#id3083607">2.15.2. Logging in Python</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s16.html">2.16. The AMQP 0-10 mapping</a></span></dt></dl></div><p>The Qpid Messaging API is quite simple, consisting of only a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Chapter 2. Using the Qpid Messaging API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="index.html" title="Programming in Apache Qpid"><link rel="prev" href="ch01.html" title="Chapter 1. Introduction"><link rel="next" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 2. Using the Qpid Messaging API</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch02s02.html">Next</a></td></tr></table><hr></div><div class="chapter
" title="Chapter 2. Using the Qpid Messaging API"><div class="titlepage"><div><div><h2 class="title"><a name="id2630973"></a>Chapter 2. Using the Qpid Messaging API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="ch02.html#id2628064">2.1. A Simple Messaging Program in C++</a></span></dt><dt><span class="section"><a href="ch02s02.html">2.2. A Simple Messaging Program in Python</a></span></dt><dt><span class="section"><a href="ch02s03.html">2.3. A Simple Messaging Program in .NET C#</a></span></dt><dt><span class="section"><a href="ch02s04.html">2.4. Addresses</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s04.html#id2661206">2.4.1. Address Strings</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2658468">2.4.2. Subjects</a></span></dt><dt><span class="section"><a href="ch02s04.html#id2650889">2.4.3. Address String Options</a></span></dt><dt><span class="section"><a href="ch02s04.ht
ml#section-address-string-bnf">2.4.4. Address String Grammar</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s05.html">2.5. Sender Capacity and Replay</a></span></dt><dt><span class="section"><a href="ch02s06.html">2.6. Receiver Capacity (Prefetch)</a></span></dt><dt><span class="section"><a href="ch02s07.html">2.7. Acknowledging Received Messages</a></span></dt><dt><span class="section"><a href="ch02s08.html">2.8. Receiving Messages from Multiple Sources</a></span></dt><dt><span class="section"><a href="ch02s09.html">2.9. Transactions</a></span></dt><dt><span class="section"><a href="ch02s10.html">2.10. Connection Options</a></span></dt><dt><span class="section"><a href="ch02s11.html">2.11. Maps and Lists in Message Content</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s11.html#section-Python-Maps">2.11.1. Qpid Maps and Lists in Python</a></span></dt><dt><span class="section"><a href="ch02s11.html#section-cpp-Maps">2.11.2. Qpid Maps and Lists
in C++</a></span></dt><dt><span class="section"><a href="ch02s11.html#section-dotnet-Maps">2.11.3. Qpid Maps and Lists in .NET</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s12.html">2.12. The Request / Response Pattern</a></span></dt><dt><span class="section"><a href="ch02s13.html">2.13. Performance Tips</a></span></dt><dt><span class="section"><a href="ch02s14.html">2.14. Cluster Failover</a></span></dt><dt><span class="section"><a href="ch02s15.html">2.15. Logging</a></span></dt><dd><dl><dt><span class="section"><a href="ch02s15.html#id2663953">2.15.1. Logging in C++</a></span></dt><dt><span class="section"><a href="ch02s15.html#id2664002">2.15.2. Logging in Python</a></span></dt></dl></dd><dt><span class="section"><a href="ch02s16.html">2.16. The AMQP 0-10 mapping</a></span></dt></dl></div><p>The Qpid Messaging API is quite simple, consisting of only a
handful of core classes.
</p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
A <em class="firstterm">message</em> consists of a standard set
@@ -26,9 +26,9 @@
</p></li></ul></div><p>
The following sections show how to use these classes in a
simple messaging program.
- </p><div class="section" title="2.1. A Simple Messaging Program in C++"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3073113"></a>2.1. A Simple Messaging Program in C++</h2></div></div></div><p>The following C++ program shows how to create a connection,
+ </p><div class="section" title="2.1. A Simple Messaging Program in C++"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2628064"></a>2.1. A Simple Messaging Program in C++</h2></div></div></div><p>The following C++ program shows how to create a connection,
create a session, send messages using a sender, and receive
- messages using a receiver.</p><div class="example"><a name="id3054994"></a><p class="title"><b>Example 2.1. "Hello world!" in C++</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
+ messages using a receiver.</p><div class="example"><a name="id2658921"></a><p class="title"><b>Example 2.1. "Hello world!" in C++</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
#include <qpid/messaging/Connection.h>
#include <qpid/messaging/Message.h>
#include <qpid/messaging/Receiver.h>
@@ -43,7 +43,7 @@ int main(int argc, char** argv) {
std::string broker = argc > 1 ? argv[1] : "localhost:5672";
std::string address = argc > 2 ? argv[2] : "amq.topic";
std::string connectionOptions = argc > 3 ? argv[3] : "";
-
+
Connection connection(broker, connectionOptions);
try {
connection.open(); <a class="co" name="hello-cpp-open" href="ch02.html#callout-cpp-open">(1)</a>
@@ -57,13 +57,13 @@ int main(int argc, char** argv) {
Message message = receiver.fetch(Duration::SECOND * 1); <a class="co" name="hello-cpp-fetch" href="ch02.html#callout-cpp-fetch">(5)</a>
std::cout << message.getContent() << std::endl;
session.acknowledge(); <a class="co" name="hello-cpp-acknowledge" href="ch02.html#callout-cpp-acknowledge">(6)</a>
-
+
connection.close(); <a class="co" name="hello-cpp-close" href="ch02.html#callout-cpp-close">(7)</a>
return 0;
} catch(const std::exception& error) {
std::cerr << error.what() << std::endl;
connection.close();
- return 1;
+ return 1;
}
}</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-open"></a><a href="#hello-cpp-open">(1)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-session"></a><a href="#hello-cpp-session">(2)</a> </p></td><td valign="top" align="left"><p>Creates a session object on which messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-receiver"></a><a href="#hello-cpp-receiver">(3)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-sender"></a><a href="#hello-cpp-sender">(4)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.
</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-fetch"></a><a href="#hello-cpp-fetch">(5)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-cpp-acknowledge"></a><a href="#hello-cpp-acknowledge">(6)</a> </p></td><td valign="top" align="left"><p>Acknowledges receipt of all fetched messages on the
session. This informs the broker that the messages were
Modified: qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s02.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s02.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s02.html (original)
+++ qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s02.html Wed Feb 2 22:58:35 2011
@@ -1,6 +1,6 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.2. A Simple Messaging Program in Python</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="next" href="ch02s03.html" title="2.3. A Simple Messaging Program in .NET C#"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. A Simple Messaging Program in Python</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" hre
f="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2.2. A Simple Messaging Program in Python"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3071049"></a>2.2. A Simple Messaging Program in Python</h2></div></div></div><p>The following Python program shows how to create a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.2. A Simple Messaging Program in Python</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="next" href="ch02s03.html" title="2.3. A Simple Messaging Program in .NET C#"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.2. A Simple Messaging Program in Python</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" hre
f="ch02s03.html">Next</a></td></tr></table><hr></div><div class="section" title="2.2. A Simple Messaging Program in Python"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2656077"></a>2.2. A Simple Messaging Program in Python</h2></div></div></div><p>The following Python program shows how to create a
connection, create a session, send messages using a sender, and
- receive messages using a receiver.</p><div class="example"><a name="id3051015"></a><p class="title"><b>Example 2.2. "Hello world!" in Python</b></p><div class="example-contents"><pre lang="python" class="programlisting">
+ receive messages using a receiver.</p><div class="example"><a name="id2660776"></a><p class="title"><b>Example 2.2. "Hello world!" in Python</b></p><div class="example-contents"><pre lang="python" class="programlisting">
import sys
from qpid.messaging import *
Modified: qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s03.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s03.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s03.html (original)
+++ qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s03.html Wed Feb 2 22:58:35 2011
@@ -1,9 +1,9 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.3. A Simple Messaging Program in .NET C#</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"><link rel="next" href="ch02s04.html" title="2.4. Addresses"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. A Simple Messaging Program in .NET C#</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Ne
xt</a></td></tr></table><hr></div><div class="section" title="2.3. A Simple Messaging Program in .NET C#"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3050799"></a>2.3. A Simple Messaging Program in .NET C#</h2></div></div></div><p>The following .NET C# program shows how to create a connection,
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.3. A Simple Messaging Program in .NET C#</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s02.html" title="2.2. A Simple Messaging Program in Python"><link rel="next" href="ch02s04.html" title="2.4. Addresses"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.3. A Simple Messaging Program in .NET C#</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html">Ne
xt</a></td></tr></table><hr></div><div class="section" title="2.3. A Simple Messaging Program in .NET C#"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2652855"></a>2.3. A Simple Messaging Program in .NET C#</h2></div></div></div><p>The following .NET C#
+ <sup>[<a name="id2646844" href="#ftn.id2646844" class="footnote">1</a>]</sup>
+ program shows how to create a connection,
create a session, send messages using a sender, and receive
- messages using a receiver. The .NET binding for the Qpid C++ Messaging API
- applies to all .NET Framework managed code languages. C# was chosen
- for illustration purposes only.
- </p><div class="example"><a name="id3054424"></a><p class="title"><b>Example 2.3. "Hello world!" in .NET C#</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
+ messages using a receiver.
+ </p><div class="example"><a name="id2657467"></a><p class="title"><b>Example 2.3. "Hello world!" in .NET C#</b></p><div class="example-contents"><pre lang="c++" class="programlisting">
using System;
using Org.Apache.Qpid.Messaging; <a class="co" name="hello-csharp-using" href="ch02s03.html#callout-csharp-using">(1)</a>
@@ -39,6 +39,10 @@ namespace Org.Apache.Qpid.Messaging {
}
}
-</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-using"></a><a href="#hello-csharp-using">(1)</a> </p></td><td valign="top" align="left"><p>Selects the Qpid Messaging namespace. A project reference to the Org.Apache.Qpid.Messaging dll defines the Qpid Messaging namespace objects and methods.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-open"></a><a href="#hello-csharp-open">(2)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-session"></a><a href="#hello-csharp-session">(3)</a> </p></td><td valign="top" align="left"><p>Creates a session object on which messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-receiver"></a><a href="#hello-csharp-r
eceiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-sender"></a><a href="#hello-csharp-sender">(5)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-fetch"></a><a href="#hello-csharp-fetch">(6)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-acknowledge"></a><a href="#hello-csharp-acknowledge">(7)</a> </p></td><td valign="top" align="left"><p>Acknowledges receipt of all fetched messages on the
+</pre><div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-using"></a><a href="#hello-csharp-using">(1)</a> </p></td><td valign="top" align="left"><p> Permits use of Org.Apache.Qpid.Messaging types and methods without explicit namespace qualification. Any .NET project must have a project reference to the assembly file <code class="literal">Org.Apache.Qpid.Messaging.dll</code> in order to obtain the definitions of the .NET Binding for Qpid Messaging namespace.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-open"></a><a href="#hello-csharp-open">(2)</a> </p></td><td valign="top" align="left"><p>Establishes the connection with the messaging broker.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-session"></a><a href="#hello-csharp-session">(3)</a> </p></td><td valign="top" align="left"><p>Creates a session object on whic
h messages will be sent and received.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-receiver"></a><a href="#hello-csharp-receiver">(4)</a> </p></td><td valign="top" align="left"><p>Creates a receiver that receives messages from the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-sender"></a><a href="#hello-csharp-sender">(5)</a> </p></td><td valign="top" align="left"><p>Creates a sender that sends to the given address.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-fetch"></a><a href="#hello-csharp-fetch">(6)</a> </p></td><td valign="top" align="left"><p>Receives the next message. The duration is optional, if omitted, will wait indefinitely for the next message.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-acknowledge"></a><a href="#hello-csharp-acknowledge">(7)</a> </p></td><td valign="top" align="left"><p>A
cknowledges receipt of all fetched messages on the
session. This informs the broker that the messages were
- transfered and processed by the client successfully.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-close"></a><a href="#hello-csharp-close">(8)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. A Simple Messaging Program in Python </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.4. Addresses</td></tr><
/table></div></body></html>
+ transfered and processed by the client successfully.</p></td></tr><tr><td width="5%" valign="top" align="left"><p><a name="callout-csharp-close"></a><a href="#hello-csharp-close">(8)</a> </p></td><td valign="top" align="left"><p>Closes the connection, all sessions managed by the connection, and all senders and receivers managed by each session.</p></td></tr></table></div></div></div><br class="example-break"><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2646844" href="#id2646844" class="para">1</a>] </sup>
+ The .NET binding for the Qpid C++ Messaging API
+ applies to all .NET Framework managed code languages. C# was chosen
+ for illustration purposes only.
+ </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">2.2. A Simple Messaging Program in Python </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 2.4. Addresses</td></tr></table></div></body></html>
Modified: qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s04.html
URL: http://svn.apache.org/viewvc/qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s04.html?rev=1066676&r1=1066675&r2=1066676&view=diff
==============================================================================
--- qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s04.html (original)
+++ qpid/site/docs/books/trunk/Programming-In-Apache-Qpid/html/ch02s04.html Wed Feb 2 22:58:35 2011
@@ -1,8 +1,8 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>2.4. Addresses</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"><link rel="home" href="index.html" title="Programming in Apache Qpid"><link rel="up" href="ch02.html" title="Chapter 2. Using the Qpid Messaging API"><link rel="prev" href="ch02s03.html" title="2.3. A Simple Messaging Program in .NET C#"><link rel="next" href="ch02s05.html" title="2.5. Sender Capacity and Replay"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">2.4. Addresses</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Using the Qpid Messaging API</th><td width="20%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr></table><hr></div><div
class="section" title="2.4. Addresses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="section-addresses"></a>2.4. Addresses</h2></div></div></div><p>An <em class="firstterm">address</em> is the name of a message
- target or message source.
+ target or message source.
+
+ <sup>[<a name="id2649930" href="#ftn.id2649930" class="footnote">2</a>]</sup>
- <sup>[<a name="id3056111" href="#ftn.id3056111" class="footnote">1</a>]</sup>
-
The methods that create senders and receivers require an
address. The details of sending to a particular target or
receiving from a particular source are then handled by the
@@ -12,22 +12,22 @@
Qpid Messaging API recognises two kinds of nodes,
<em class="firstterm">queues</em> and <em class="firstterm">topics</em>
- <sup>[<a name="id3071336" href="#ftn.id3071336" class="footnote">2</a>]</sup>.
+ <sup>[<a name="id2634092" href="#ftn.id2634092" class="footnote">3</a>]</sup>.
A queue stores each message until it has been received and
acknowledged, and only one receiver can receive a given message
- <sup>[<a name="id3058474" href="#ftn.id3058474" class="footnote">3</a>]</sup>.
+ <sup>[<a name="id2651673" href="#ftn.id2651673" class="footnote">4</a>]</sup>.
A topic immediately delivers a message to all eligible
receivers; if there are no eligible receivers, it discards the
message. In the AMQP 0-10 implementation of the API,
-
- <sup>[<a name="id3059129" href="#ftn.id3059129" class="footnote">4</a>]</sup>
+
+ <sup>[<a name="id2635573" href="#ftn.id2635573" class="footnote">5</a>]</sup>
queues map to AMQP queues, and topics map to AMQP exchanges.
- <sup>[<a name="id3063109" href="#ftn.id3063109" class="footnote">5</a>]</sup>
+ <sup>[<a name="id2656785" href="#ftn.id2656785" class="footnote">6</a>]</sup>
</p><p>In the rest of this tutorial, we present many examples
using two programs that take an address as a command line
parameter. <span class="command"><strong>spout</strong></span> sends messages to the
@@ -37,15 +37,15 @@
language. These programs can use any address string as a source
or a destination, and have many command line options to
configure behavior—use the <span class="command"><strong>-h</strong></span> option
- for documentation on these options.
+ for documentation on these options.
- <sup>[<a name="id3065467" href="#ftn.id3065467" class="footnote">6</a>]</sup>
+ <sup>[<a name="id2661600" href="#ftn.id2661600" class="footnote">7</a>]</sup>
The examples in this tutorial also use the
<span class="command"><strong>qpid-config</strong></span> utility to configure AMQP 0-10
queues and exchanges on a Qpid broker.
- </p><div class="example"><a name="id3071047"></a><p class="title"><b>Example 2.4. Queues</b></p><div class="example-contents"><p>Create a queue with <span class="command"><strong>qpid-config</strong></span>, send a message using
+ </p><div class="example"><a name="id2651307"></a><p class="title"><b>Example 2.4. Queues</b></p><div class="example-contents"><p>Create a queue with <span class="command"><strong>qpid-config</strong></span>, send a message using
<span class="command"><strong>spout</strong></span>, and read it using <span class="command"><strong>drain</strong></span>:</p><pre class="screen">
$ qpid-config add queue hello-world
$ ./spout hello-world
@@ -58,7 +58,7 @@ Message(properties={spout-id:c877e622-d5
<span class="command"><strong>drain</strong></span> one more time, no messages will be retrieved.</p><pre class="screen">
$ ./drain hello-world
$
- </pre></div></div><br class="example-break"><div class="example"><a name="id3081201"></a><p class="title"><b>Example 2.5. Topics</b></p><div class="example-contents"><p>This example is similar to the previous example, but it
+ </pre></div></div><br class="example-break"><div class="example"><a name="id2615689"></a><p class="title"><b>Example 2.5. Topics</b></p><div class="example-contents"><p>This example is similar to the previous example, but it
uses a topic instead of a queue.</p><p>First, use <span class="command"><strong>qpid-config</strong></span> to remove the queue
and create an exchange with the same name:</p><pre class="screen">
$ qpid-config del queue hello-world
@@ -85,7 +85,7 @@ $ ./spout hello-word
Message(properties={spout-id:7da2d27d-93e6-4803-8a61-536d87b8d93f:0}, content='')
</pre><p>You can run <span class="command"><strong>drain</strong></span> in several separate
windows; each creates a subscription for the exchange, and
- each receives all messages sent to the exchange.</p></div></div><br class="example-break"><div class="section" title="2.4.1. Address Strings"><div class="titlepage"><div><div><h3 class="title"><a name="id3065421"></a>2.4.1. Address Strings</h3></div></div></div><p>So far, our examples have used address strings that
+ each receives all messages sent to the exchange.</p></div></div><br class="example-break"><div class="section" title="2.4.1. Address Strings"><div class="titlepage"><div><div><h3 class="title"><a name="id2661206"></a>2.4.1. Address Strings</h3></div></div></div><p>So far, our examples have used address strings that
contain only the name of a node. An <em class="firstterm">address
string</em> can also contain a
<em class="firstterm">subject</em> and
@@ -97,13 +97,13 @@ options ::= { <key> : <value&g
maps, or lists. A complete BNF for address strings appears in
<a class="xref" href="ch02s04.html#section-address-string-bnf" title="2.4.4. Address String Grammar">Section 2.4.4, “Address String Grammar”</a>.</p><p>So far, the address strings in this tutorial have only
used simple names. The following sections show how to use
- subjects and options.</p></div><div class="section" title="2.4.2. Subjects"><div class="titlepage"><div><div><h3 class="title"><a name="id3068029"></a>2.4.2. Subjects</h3></div></div></div><p>Every message has a property called
+ subjects and options.</p></div><div class="section" title="2.4.2. Subjects"><div class="titlepage"><div><div><h3 class="title"><a name="id2658468"></a>2.4.2. Subjects</h3></div></div></div><p>Every message has a property called
<em class="firstterm">subject</em>, which is analogous to the
subject on an email message. If no subject is specified, the
message's subject is null. For convenience, address strings
also allow a subject. If a sender's address contains a
subject, it is used as the default subject for the messages
- it sends.
+ it sends.
If a receiver's address contains a subject, it is used to
select only messages that match the subject—the matching
@@ -116,7 +116,7 @@ options ::= { <key> : <value&g
Currently, a receiver bound to a queue ignores subjects,
receiving messages from the queue without filtering. Support
for subject filtering on queues will be implemented soon.
- </p></div><div class="example"><a name="id3070414"></a><p class="title"><b>Example 2.6. Using subjects</b></p><div class="example-contents"><p>In this example we show how subjects affect message
+ </p></div><div class="example"><a name="id2627613"></a><p class="title"><b>Example 2.6. Using subjects</b></p><div class="example-contents"><p>In this example we show how subjects affect message
flow.</p><p>First, let's use <span class="command"><strong>qpid-config</strong></span> to create a topic exchange.</p><pre class="screen">
$ qpid-config add exchange topic news-service
</pre><p>Now we use drain to receive messages from <code class="literal">news-service</code> that match the subject <code class="literal">sports</code>.</p><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">
@@ -140,11 +140,11 @@ Message(properties={qpid.subject:sports,
application, the sender might use subjects like
<code class="literal">usa.news</code>, <code class="literal">usa.weather</code>,
<code class="literal">europe.news</code>, or
- <code class="literal">europe.weather</code>.
+ <code class="literal">europe.weather</code>.
The receiver's subject can include wildcard characters—
<span class="quote">“<span class="quote">#</span>”</span> matches one or more words in the message's
- subject, <span class="quote">“<span class="quote">*</span>”</span> matches a single word.
+ subject, <span class="quote">“<span class="quote">*</span>”</span> matches a single word.
For instance, if the subject in the source address is
<code class="literal">*.news</code>, it matches messages with the
@@ -152,7 +152,7 @@ Message(properties={qpid.subject:sports,
<code class="literal">usa.news</code>; if it is
<code class="literal">europe.#</code>, it matches messages with subjects
like <code class="literal">europe.news</code> or
- <code class="literal">europe.pseudo.news</code>.</p><div class="example"><a name="id3081269"></a><p class="title"><b>Example 2.7. Subjects with multi-word keys</b></p><div class="example-contents"><p>This example uses drain and spout to demonstrate the
+ <code class="literal">europe.pseudo.news</code>.</p><div class="example"><a name="id2650146"></a><p class="title"><b>Example 2.7. Subjects with multi-word keys</b></p><div class="example-contents"><p>This example uses drain and spout to demonstrate the
use of subjects with two-word keys.</p><p>Let's use <span class="command"><strong>drain</strong></span> with the subject
<code class="literal">*.news</code> to listen for messages in which
the second word of the key is
@@ -187,7 +187,7 @@ $ ./spout news-service/usa.faux.sports
Message(properties={qpid.subject:news, spout-id:cbd42b0f-c87b-4088-8206-26d7627c9640:0}, content='')
Message(properties={qpid.subject:usa.news, spout-id:234a78d7-daeb-4826-90e1-1c6540781eac:0}, content='')
Message(properties={qpid.subject:usa.faux.news, spout-id:6029430a-cfcb-4700-8e9b-cbe4a81fca5f:0}, content='')
- </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3. Address String Options"><div class="titlepage"><div><div><h3 class="title"><a name="id3063829"></a>2.4.3. Address String Options</h3></div></div></div><p>
+ </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3. Address String Options"><div class="titlepage"><div><div><h3 class="title"><a name="id2650889"></a>2.4.3. Address String Options</h3></div></div></div><p>
The options in an address string can contain additional
information for the senders or receivers created for it,
including:
@@ -203,7 +203,7 @@ Message(properties={qpid.subject:usa.fau
</p></li><li class="listitem"><p>
Policies for automatically creating or deleting the node to which an address refers.
</p><p>
- For instance, in the address string <code class="literal">xoxox ; {create: always}</code>,
+ For instance, in the address string <code class="literal">xoxox ; {create: always}</code>,
the queue <code class="literal">xoxox</code> is created, if it does
not exist, before the address is resolved.
</p></li><li class="listitem"><p>
@@ -223,11 +223,11 @@ Message(properties={qpid.subject:usa.fau
Let's use some examples to show how these different kinds of
address string options affect the behavior of senders and
receives.
- </p><div class="section" title="2.4.3.1. assert"><div class="titlepage"><div><div><h4 class="title"><a name="id3082480"></a>2.4.3.1. assert</h4></div></div></div><p>
+ </p><div class="section" title="2.4.3.1. assert"><div class="titlepage"><div><div><h4 class="title"><a name="id2646031"></a>2.4.3.1. assert</h4></div></div></div><p>
In this section, we use the <code class="literal">assert</code> option
to ensure that the address resolves to a node of the required
type.
- </p><div class="example"><a name="id3055416"></a><p class="title"><b>Example 2.8. Assertions on Nodes</b></p><div class="example-contents"><p>Let's use <span class="command"><strong>qpid-config</strong></span> to create a
+ </p><div class="example"><a name="id2638470"></a><p class="title"><b>Example 2.8. Assertions on Nodes</b></p><div class="example-contents"><p>Let's use <span class="command"><strong>qpid-config</strong></span> to create a
queue and a topic.</p><pre class="screen">
$ qpid-config add queue my-queue
$ qpid-config add exchange topic my-topic
@@ -252,15 +252,15 @@ $ ./drain 'my-topic; {assert: always, no
Queue my-topic does not exist
</pre></div></div><br class="example-break"><p>Now let's use the <code class="literal">create</code> option to
create the queue <code class="literal">xoxox</code> if it does not already
- exist:</p></div><div class="section" title="2.4.3.2. create"><div class="titlepage"><div><div><h4 class="title"><a name="id3081345"></a>2.4.3.2. create</h4></div></div></div><p>In previous examples, we created the queue before
+ exist:</p></div><div class="section" title="2.4.3.2. create"><div class="titlepage"><div><div><h4 class="title"><a name="id2655970"></a>2.4.3.2. create</h4></div></div></div><p>In previous examples, we created the queue before
listening for messages on it. Using <code class="literal">create:
always</code>, the queue is automatically created if it
- does not exist.</p><div class="example"><a name="id3077576"></a><p class="title"><b>Example 2.9. Creating a Queue Automatically</b></p><div class="example-contents"><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">$ ./drain -t 30 "xoxox ; {create: always}"</pre><p>Now we can send messages to this queue:</p><p><span class="emphasis"><em>Second Window:</em></span></p><pre class="screen">$ ./spout "xoxox ; {create: always}"</pre><p>Returning to the first window, we see that <span class="command"><strong>drain</strong></span> has received this message:</p><pre class="screen">Message(properties={spout-id:1a1a3842-1a8b-4f88-8940-b4096e615a7d:0}, content='')</pre></div></div><br class="example-break"><p>The details of the node thus created can be controlled by further options within the node. See <a class="xref" href="ch02s04.html#table-node-properties" title="Table 2.2. Node Properties">Table 2.2, “Node Properties”</a> for details.</
p></div><div class="section" title="2.4.3.3. browse"><div class="titlepage"><div><div><h4 class="title"><a name="id3081376"></a>2.4.3.3. browse</h4></div></div></div><p>Some options specify message transfer semantics; for
+ does not exist.</p><div class="example"><a name="id2660273"></a><p class="title"><b>Example 2.9. Creating a Queue Automatically</b></p><div class="example-contents"><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">$ ./drain -t 30 "xoxox ; {create: always}"</pre><p>Now we can send messages to this queue:</p><p><span class="emphasis"><em>Second Window:</em></span></p><pre class="screen">$ ./spout "xoxox ; {create: always}"</pre><p>Returning to the first window, we see that <span class="command"><strong>drain</strong></span> has received this message:</p><pre class="screen">Message(properties={spout-id:1a1a3842-1a8b-4f88-8940-b4096e615a7d:0}, content='')</pre></div></div><br class="example-break"><p>The details of the node thus created can be controlled by further options within the node. See <a class="xref" href="ch02s04.html#table-node-properties" title="Table 2.2. Node Properties">Table 2.2, “Node Properties”</a> for details.</
p></div><div class="section" title="2.4.3.3. browse"><div class="titlepage"><div><div><h4 class="title"><a name="id2644393"></a>2.4.3.3. browse</h4></div></div></div><p>Some options specify message transfer semantics; for
instance, they may state whether messages should be consumed or
read in browsing mode, or specify reliability
characteristics. The following example uses the
<code class="literal">browse</code> option to receive messages without
- removing them from a queue.</p><div class="example"><a name="id3057059"></a><p class="title"><b>Example 2.10. Browsing a Queue</b></p><div class="example-contents"><p>
+ removing them from a queue.</p><div class="example"><a name="id2645738"></a><p class="title"><b>Example 2.10. Browsing a Queue</b></p><div class="example-contents"><p>
Let's use the browse mode to receive messages without
removing them from the queue. First we send three messages to the
queue:
@@ -278,7 +278,7 @@ $ ./drain 'my-queue; {mode: browse}'
Message(properties={spout-id:fbb93f30-0e82-4b6d-8c1d-be60eb132530:0}, content='one')
Message(properties={spout-id:ab9e7c31-19b0-4455-8976-34abe83edc5f:0}, content='two')
Message(properties={spout-id:ea75d64d-ea37-47f9-96a9-d38e01c97925:0}, content='three')
- </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.4. x-bindings"><div class="titlepage"><div><div><h4 class="title"><a name="id3064191"></a>2.4.3.4. x-bindings</h4></div></div></div><p>Greater control over the AMQP 0-10 binding process can
+ </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.4. x-bindings"><div class="titlepage"><div><div><h4 class="title"><a name="id2631068"></a>2.4.3.4. x-bindings</h4></div></div></div><p>Greater control over the AMQP 0-10 binding process can
be achieved by including an <code class="literal">x-bindings</code>
option in an address string.
@@ -301,23 +301,23 @@ $ qpid-config add exchange xml xml
element is named <code class="literal">weather</code>. Here is an
address string that contains this query:</p><pre class="programlisting">
xml; {
- link: {
- x-bindings: [{exchange:xml, key:weather, arguments:{xquery:"./weather"} }]
- }
+ link: {
+ x-bindings: [{exchange:xml, key:weather, arguments:{xquery:"./weather"} }]
+ }
}
</pre><p>When using longer queries with <span class="command"><strong>drain</strong></span>,
it is often useful to place the query in a file, and use
<span class="command"><strong>cat</strong></span> in the command line. We do this in the
- following example.</p><div class="example"><a name="id3067403"></a><p class="title"><b>Example 2.11. Using the XML Exchange</b></p><div class="example-contents"><p>This example uses an x-binding that contains queries, which filter based on the content of XML messages. Here is an XQuery that we will use in this example:</p><pre class="programlisting">
+ following example.</p><div class="example"><a name="id2656509"></a><p class="title"><b>Example 2.11. Using the XML Exchange</b></p><div class="example-contents"><p>This example uses an x-binding that contains queries, which filter based on the content of XML messages. Here is an XQuery that we will use in this example:</p><pre class="programlisting">
-let $w := ./weather
-return $w/station = 'Raleigh-Durham International Airport (KRDU)'
+let $w := ./weather
+return $w/station = 'Raleigh-Durham International Airport (KRDU)'
and $w/temperature_f > 50
and $w/temperature_f - $w/dewpoint > 5
and $w/wind_speed_mph > 7
and $w/wind_speed_mph < 20
</pre><p>We can specify this query in an x-binding to listen to messages that meet the criteria specified by the query:</p><p><span class="emphasis"><em>First Window:</em></span></p><pre class="screen">
-$ ./drain -f "xml; {link:{x-bindings:[{key:'weather',
+$ ./drain -f "xml; {link:{x-bindings:[{key:'weather',
arguments:{xquery:\"$(cat rdu.xquery )\"}}]}}"
</pre><p>In another window, let's create an XML message that meets the criteria in the query, and place it in the file <code class="filename">rdu.xml</code>:</p><pre class="programlisting">
@@ -330,14 +330,14 @@ arguments:{xquery:\"$(cat rdu.xquery )\"
</pre><p>Now let's use <span class="command"><strong>spout</strong></span> to send this message to the XML exchange:</p><p><span class="emphasis"><em>Second Window:</em></span></p><pre class="screen">
spout --content "$(cat rdu.xml)" xml/weather
</pre><p>Returning to the first window, we see that the message has been received:</p><pre class="screen">$ ./drain -f "xml; {link:{x-bindings:[{exchange:'xml', key:'weather', arguments:{xquery:\"$(cat rdu.xquery )\"}}]}}"
-Message(properties={qpid.subject:weather, spout-id:31c431de-593f-4bec-a3dd-29717bd945d3:0},
+Message(properties={qpid.subject:weather, spout-id:31c431de-593f-4bec-a3dd-29717bd945d3:0},
content='<weather>
<station>Raleigh-Durham International Airport (KRDU)</station>
<wind_speed_mph>16</wind_speed_mph>
<temperature_f>40</temperature_f>
<dewpoint>35</dewpoint>
</weather>')
- </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.5. Address String Options - Reference"><div class="titlepage"><div><div><h4 class="title"><a name="id3045175"></a>2.4.3.5. Address String Options - Reference</h4></div></div></div><div class="table"><a name="id3053709"></a><p class="title"><b>Table 2.1. Address String Options</b></p><div class="table-contents"><table summary="Address String Options" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>option</th><th>value</th><th>semantics</th></tr></thead><tbody><tr><td>
+ </pre></div></div><br class="example-break"></div><div class="section" title="2.4.3.5. Address String Options - Reference"><div class="titlepage"><div><div><h4 class="title"><a name="id2645349"></a>2.4.3.5. Address String Options - Reference</h4></div></div></div><div class="table"><a name="id2651038"></a><p class="title"><b>Table 2.1. Address String Options</b></p><div class="table-contents"><table summary="Address String Options" width="100%" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>option</th><th>value</th><th>semantics</th></tr></thead><tbody><tr><td>
assert
</td><td>
one of: always, never, sender or receiver
@@ -424,9 +424,9 @@ content='<weather>
exchange: <exchange>,
queue: <queue>,
key: <key>,
- arguments: {
- <key_1>: <value_1>,
- ...,
+ arguments: {
+ <key_1>: <value_1>,
+ ...,
<key_n>: <value_n> }
},
...
@@ -454,7 +454,7 @@ content='<weather>
that a message is not lost, and is delivered precisely
once. Currently only <code class="literal">unreliable</code>
and <code class="literal">at-least-once</code> are supported.
- <sup>[<a name="id3024960" href="#ftn.id3024960" class="footnote">a</a>]</sup>
+ <sup>[<a name="id2604854" href="#ftn.id2604854" class="footnote">a</a>]</sup>
</td></tr><tr><td>
durable
</td><td>
@@ -489,7 +489,7 @@ content='<weather>
independent of the create option. They are considered
logically part of the linking process rather than of
node creation.
- </td></tr></tbody><tbody class="footnotes"><tr><td colspan="3"><div class="footnote"><p><sup>[<a name="ftn.id3024960" href="#id3024960" class="para">a</a>] </sup>If at-most-once is requested,
+ </td></tr></tbody><tbody class="footnotes"><tr><td colspan="3"><div class="footnote"><p><sup>[<a name="ftn.id2604854" href="#id2604854" class="para">a</a>] </sup>If at-most-once is requested,
unreliable will be used and for durable messages on
durable queues there is the possibility that messages
will be redelivered; if exactly-once is requested,
@@ -545,10 +545,10 @@ options := map
</pre><div class="itemizedlist" title="Create, Delete, and Assert Policies"><p class="title"><b>Create, Delete, and Assert Policies</b></p><p>The create, delete, and assert policies specify who should
perfom the associated action:</p><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>always</em></span>: the action is performed by any messaging client</p></li><li class="listitem"><p><span class="emphasis"><em>sender</em></span>: the action is only performed by a sender</p></li><li class="listitem"><p><span class="emphasis"><em>receiver</em></span>: the action is only performed by a receiver</p></li><li class="listitem"><p><span class="emphasis"><em>never</em></span>: the action is never performed (this is the default)</p></li></ul></div><div class="itemizedlist" title="Node-Type"><p class="title"><b>Node-Type</b></p><p>The node-type is one of:</p><ul class="itemizedlist" type="disc"><li class="listitem"><p><span class="emphasis"><em>topic</em></span>: in the AMQP 0-10
mapping, a topic node defaults to the topic exchange, x-declare
- may be used to specify other exchange types</p></li><li class="listitem"><p><span class="emphasis"><em>queue</em></span>: this is the default node-type</p></li></ul></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id3056111" href="#id3056111" class="para">1</a>] </sup>In the programs we have just seen, we used
+ may be used to specify other exchange types</p></li><li class="listitem"><p><span class="emphasis"><em>queue</em></span>: this is the default node-type</p></li></ul></div></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2649930" href="#id2649930" class="para">2</a>] </sup>In the programs we have just seen, we used
<code class="literal">amq.topic</code> as the default address if none is
passed in. This is the name of a standard exchange that always
- exists on an AMQP 0-10 messaging broker.</p></div><div class="footnote"><p><sup>[<a name="ftn.id3071336" href="#id3071336" class="para">2</a>] </sup>The terms <span class="emphasis"><em>queue</em></span> and
+ exists on an AMQP 0-10 messaging broker.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2634092" href="#id2634092" class="para">3</a>] </sup>The terms <span class="emphasis"><em>queue</em></span> and
<span class="emphasis"><em>topic</em></span> here were chosen to align with
their meaning in JMS. These two addressing 'patterns',
queue and topic, are sometimes refered as point-to-point
@@ -556,11 +556,11 @@ options := map
called a <span class="emphasis"><em>topic exchange</em></span>. When the term
<span class="emphasis"><em>topic</em></span> occurs alone, it refers to a
Messaging API topic, not the topic
- exchange.</p></div><div class="footnote"><p><sup>[<a name="ftn.id3058474" href="#id3058474" class="para">3</a>] </sup>There are exceptions to this rule; for instance,
+ exchange.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2651673" href="#id2651673" class="para">4</a>] </sup>There are exceptions to this rule; for instance,
a receiver can use <code class="literal">browse</code> mode, which leaves
messages on the queue for other receivers to
- read.</p></div><div class="footnote"><p><sup>[<a name="ftn.id3059129" href="#id3059129" class="para">4</a>] </sup>The AMQP 0-10 implementation is the only one
- that currently exists.</p></div><div class="footnote"><p><sup>[<a name="ftn.id3063109" href="#id3063109" class="para">5</a>] </sup>In AMQP 0-10, messages are sent to
+ read.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2635573" href="#id2635573" class="para">5</a>] </sup>The AMQP 0-10 implementation is the only one
+ that currently exists.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2656785" href="#id2656785" class="para">6</a>] </sup>In AMQP 0-10, messages are sent to
exchanges, and read from queues. The Messaging API also
allows a sender to send messages to a queue; internally,
Qpid implements this by sending the message to the default
@@ -569,7 +569,7 @@ options := map
from a topic; internally, Qpid implements this by setting up
a private subscription queue for the receiver and binding
the subscription queue to the exchange that corresponds to
- the topic.</p></div><div class="footnote"><p><sup>[<a name="ftn.id3065467" href="#id3065467" class="para">6</a>] </sup>Currently, the C++, Python, and .NET C#
+ the topic.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2661600" href="#id2661600" class="para">7</a>] </sup>Currently, the C++, Python, and .NET C#
implementations of <span class="command"><strong>drain</strong></span> and
<span class="command"><strong>spout</strong></span> have slightly different
options. This tutorial uses the C++ implementation. The
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org