Product SiteDocumentation Site

Red Hat Enterprise MRG 1.3

Programming in Apache Qpid

Cross-Platform AMQP Messaging in C++, Python, Java JMS and .NET

Edition 2

Jonathan Robie

Red Hat

Chuck Rolke

Red Hat

Alison Young

Red Hat Engineering Content Services

Legal Notice

Copyright © 2011 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.


1801 Varsity Drive
 RaleighNC 27606-2072 USA
 Phone: +1 919 754 3700
 Phone: 888 733 4281
 Fax: +1 919 754 3701

Abstract
This book describes how to write programs for MRG Messaging using the Apache Qpid Messaging and Java JMS APIs.

Preface
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. Getting Help and Giving Feedback
2.1. Do You Need Help?
2.2. We Need Feedback!
1. Introduction
2. Using the Qpid Messaging API
2.1. A Simple Messaging Program in C++
2.2. A Simple Messaging Program in Python
2.3. A Simple Messaging Program in .NET C#
2.4. Addresses
2.4.1. Address Strings
2.4.2. Message Subjects
2.4.3. Address String Options
2.4.4. Address String Grammar
2.5. Sender Capacity and Replay
2.6. Receiver Capacity (Prefetch)
2.7. Acknowledging Received Messages
2.8. Receiving Messages from Multiple Sources
2.9. Transactions
2.10. Connection Options
2.11. Maps and Lists in Message Content
2.11.1. Qpid Maps and Lists in Python
2.11.2. Qpid Maps and Lists in C++
2.11.3. Qpid Maps and Lists in .NET C#
2.12. The Request/Response Pattern
2.13. Performance Tips
2.14. Cluster Failover
2.15. Logging
2.15.1. Logging in C++
2.15.2. Logging in Python
2.16. Security
2.17. The AMQP 0-10 mapping
3. Using the Qpid JMS client
3.1. A Simple Messaging Program in Java JMS
3.2. Apache Qpid JNDI Properties for AMQP Messaging
3.2.1. JNDI Properties for Apache Qpid
3.2.2. Connection URLs
3.3. Java JMS Message Properties
3.4. JMS MapMessage Types
3.5. JMS Client Logging
4. .NET Binding for Qpid C++ Messaging
4.1. .NET Binding for the C++ Messaging Client Examples
4.2. .NET Binding Class Mapping to Underlying C++ Messaging API
4.2.1. .NET Binding for the C++ Messaging API Class: Address
4.2.2. .NET Binding for the C++ Messaging API Class: Connection
4.2.3. .NET Binding for the C++ Messaging API Class: Duration
4.2.4. .NET Binding for the C++ Messaging API Class: FailoverUpdates
4.2.5. .NET Binding for the C++ Messaging API Class: Message
4.2.6. .NET Binding for the C++ Messaging API Class: Receiver
4.2.7. .NET Binding for the C++ Messaging API Class: Sender
4.2.8. .NET Binding for the C++ Messaging API Class: Session
4.2.9. .NET Class: SessionReceiver
A. Revision History