Jump To Close Expand all Collapse all Table of contents Messaging Programming Reference 1. Introduction Expand section "1. Introduction" Collapse section "1. Introduction" 1.1. Red Hat Enterprise MRG Messaging 1.2. Apache Qpid 1.3. AMQP - Advanced Message Queuing Protocol 1.4. Differences between AMQP 0-10 and AMQP 1.0 1.5. AMQP 1.0 support in MRG-M 3 Expand section "1.5. AMQP 1.0 support in MRG-M 3" Collapse section "1.5. AMQP 1.0 support in MRG-M 3" 1.5.1. Support for the C++ qpid::messaging API 1.5.2. Reply-To Addresses and Temporary Queues 1.5.3. Connections, Session and Links 1.5.4. Addresses 1.5.5. On-demand Create Workaround for Legacy Applications 1.5.6. Link-scoped x-declare and x-subscribe 1.5.7. Node- and Link-scoped x-bindings 1.5.8. Delete Policy 1.5.9. Node Lifetime Policies 1.5.10. Message Timestamp 1.5.11. Accessing AMQP Message Properties and Headers 1.5.12. AMQP Support in qpidd 1.5.13. Simple Authentication and Security Layer (SASL) Support 1.5.14. Queues and Exchanges 1.5.15. Filters 1.5.16. Message Conversion Between AMQP 0-10 and AMQP 1.0 1.5.17. Capabilities 1.5.18. Capability Matching and Assert 1.5.19. Configuring Subscription Queues using Topics 1.6. qpid::messaging Message::get/setContentObject() 2. AMQP Model Overview Expand section "2. AMQP Model Overview" Collapse section "2. AMQP Model Overview" 2.1. The Producer - Consumer Model 2.2. Consumer-driven messaging 2.3. Message Producer (Sender) 2.4. Message 2.5. Message Broker 2.6. Routing Key 2.7. Message Subject 2.8. Message Properties 2.9. Connection 2.10. Session 2.11. Exchange 2.12. Binding 2.13. Topic 2.14. Domain 2.15. Message Queue 2.16. Transaction 2.17. Message Consumer (Receiver) 3. Getting Started Expand section "3. Getting Started" Collapse section "3. Getting Started" 3.1. Getting Started with Python Expand section "3.1. Getting Started with Python" Collapse section "3.1. Getting Started with Python" 3.1.1. Python Messaging Development 3.1.2. Python Client Libraries 3.1.3. Install Python Client Libraries (Red Hat Enterprise Linux 6) 3.2. Getting Started with .NET Expand section "3.2. Getting Started with .NET" Collapse section "3.2. Getting Started with .NET" 3.2.1. .NET Messaging Development 3.2.2. Windows SDK 3.2.3. Windows SDK Contents 3.2.4. How To Download and Install the Windows SDK 3.3. Getting Started with C++ Expand section "3.3. Getting Started with C++" Collapse section "3.3. Getting Started with C++" 3.3.1. C++ Messaging Development 3.3.2. C++ on Linux 3.3.3. C++ on Windows 3.4. Getting Started with Java Expand section "3.4. Getting Started with Java" Collapse section "3.4. Getting Started with Java" 3.4.1. Java Client Libraries 3.4.2. Install Java Client Libraries (Red Hat Enterprise Linux 6) 3.5. Getting Started with Ruby Expand section "3.5. Getting Started with Ruby" Collapse section "3.5. Getting Started with Ruby" 3.5.1. Ruby Messaging Development 3.5.2. Ruby Client Libraries 3.5.3. Install Ruby Client Libraries (Red Hat Enterprise Linux 6) 3.6. Hello World Expand section "3.6. Hello World" Collapse section "3.6. Hello World" 3.6.1. Red Hat Enterprise Messaging "Hello World" 3.6.2. Java JMS "Hello World" Program Listing 3.6.3. "Hello World" Walk-through 4. Beyond "Hello World" Expand section "4. Beyond "Hello World"" Collapse section "4. Beyond "Hello World"" 4.1. Subscriptions 4.2. Publishing 4.3. AMQP Exchange Types 4.4. Pre-configured Exchanges 4.5. Exchange Subscription Patterns 4.6. The Default Exchange Expand section "4.6. The Default Exchange" Collapse section "4.6. The Default Exchange" 4.6.1. Default Exchange 4.6.2. Publish to a Queue using the Default Exchange 4.6.3. Subscribe to the Default Exchange 4.7. Direct Exchange Expand section "4.7. Direct Exchange" Collapse section "4.7. Direct Exchange" 4.7.1. Direct Exchange 4.7.2. Create a Direct Exchange using qpid-config 4.7.3. Create a Direct Exchange from an application 4.7.4. Publish to a Direct Exchange 4.7.5. Subscribe to a Direct Exchange 4.7.6. Exclusive Bindings for Direct Exchanges 4.8. Fanout Exchange Expand section "4.8. Fanout Exchange" Collapse section "4.8. Fanout Exchange" 4.8.1. The pre-configured Fanout Exchange 4.8.2. Fanout Exchange 4.8.3. Create a Fanout Exchange using qpid-config 4.8.4. Create a Fanout Exchange from an application 4.8.5. Publish to Multiple Queues using the Fanout Exchange 4.8.6. Subscribe to a Fanout Exchange 4.9. Topic Exchange Expand section "4.9. Topic Exchange" Collapse section "4.9. Topic Exchange" 4.9.1. The pre-configured Topic Exchange 4.9.2. Topic Exchange 4.9.3. Create a Topic Exchange using qpid-config 4.9.4. Create a Topic Exchange from an application 4.9.5. Publish to a Topic Exchange 4.9.6. Subscribe to a Topic Exchange 4.10. Headers Exchange Expand section "4.10. Headers Exchange" Collapse section "4.10. Headers Exchange" 4.10.1. The pre-configured Headers Exchange 4.10.2. Headers Exchange 4.10.3. Create a Headers Exchange using qpid-config 4.10.4. Create a Headers Exchange from an application 4.10.5. Publish to a Headers Exchange 4.10.6. Subscribe to a Headers Exchange 4.11. XML Exchange Expand section "4.11. XML Exchange" Collapse section "4.11. XML Exchange" 4.11.1. Custom Exchange Types 4.11.2. The pre-configured XML Exchange Type 4.11.3. Create an XML Exchange 4.11.4. Subscribe to the XML Exchange 5. Message Delivery and Acceptance Expand section "5. Message Delivery and Acceptance" Collapse section "5. Message Delivery and Acceptance" 5.1. The Lifecycle of a Message Expand section "5.1. The Lifecycle of a Message" Collapse section "5.1. The Lifecycle of a Message" 5.1.1. Message Delivery Overview 5.1.2. Message Generation 5.1.3. Message Send over Reliable Link 5.1.4. Message Send over Unreliable Link 5.1.5. Message Distribution on the Broker 5.1.6. Message Receive over Reliable Link 5.1.7. Message Receive over Unreliable Link 5.2. Browsing and Consuming Messages Expand section "5.2. Browsing and Consuming Messages" Collapse section "5.2. Browsing and Consuming Messages" 5.2.1. Message Acquisition and Acceptance 5.2.2. Message Acquisition and Acceptance on an Unreliable Link 5.2.3. Message Rejection 5.2.4. Receiving Messages from Multiple Sources 5.2.5. Rejected and Orphaned Messages 5.2.6. Alternate Exchange 6. Advanced Queue Features Expand section "6. Advanced Queue Features" Collapse section "6. Advanced Queue Features" 6.1. Browse-only Queues 6.2. Ignore Locally Published Messages 6.3. Exclusive Queues 6.4. Server-side Selectors Expand section "6.4. Server-side Selectors" Collapse section "6.4. Server-side Selectors" 6.4.1. Select messages using a filter 6.4.2. Server-side selector syntax 6.5. Automatically Deleted Queues Expand section "6.5. Automatically Deleted Queues" Collapse section "6.5. Automatically Deleted Queues" 6.5.1. Automatically Deleted Queues 6.5.2. Automatically Deleted Queue Example 6.5.3. Queue Deletion Checks 6.6. Last Value (LV) Queues Expand section "6.6. Last Value (LV) Queues" Collapse section "6.6. Last Value (LV) Queues" 6.6.1. Last Value Queues 6.6.2. Declaring a Last Value Queue 6.6.3. Last Value Queue Example 6.6.4. Last Value Queue Command-line Example 6.7. Priority Queuing Expand section "6.7. Priority Queuing" Collapse section "6.7. Priority Queuing" 6.7.1. Priority Queuing 6.7.2. Declaring a Priority Queue 6.7.3. Considerations when using Priority Queues 6.7.4. Priority Queue Demonstration 6.7.5. Fairshare Feature 6.8. Message Groups Expand section "6.8. Message Groups" Collapse section "6.8. Message Groups" 6.8.1. Message Groups 6.8.2. Create a Queue with Message Groups enabled 6.8.3. Message Group Consumer Requirements 6.8.4. Configure a Queue for Message Groups using qpid-config 6.8.5. Default Group 6.8.6. Override the Default Group Name 6.8.7. Message Groups Demonstration 7. Asynchronous Messaging Expand section "7. Asynchronous Messaging" Collapse section "7. Asynchronous Messaging" 7.1. Asynchronous Operations 7.2. Asynchronous Sending Expand section "7.2. Asynchronous Sending" Collapse section "7.2. Asynchronous Sending" 7.2.1. Synchronous and Asynchronous Send 7.2.2. Sender Capacity 7.2.3. Set Sender Capacity 7.2.4. Query Sender Capacity 7.2.5. Avoiding a Blocked Asynchronous Send 7.2.6. Asynchronous Message Sending Example 7.2.7. Asynchronous Send and Link Reliability 7.3. Asynchronous Receiving Expand section "7.3. Asynchronous Receiving" Collapse section "7.3. Asynchronous Receiving" 7.3.1. Asynchronous Message Retrieval (Prefetch) 7.3.2. Enable Receiver Prefetch 7.3.3. Asynchronously Acknowledging Received Messages 7.3.4. Asynchronous Receive and Link Reliability 8. Reliability and Quality of Service Expand section "8. Reliability and Quality of Service" Collapse section "8. Reliability and Quality of Service" 8.1. Link Reliability Expand section "8.1. Link Reliability" Collapse section "8.1. Link Reliability" 8.1.1. Reliable Link 8.1.2. Unreliable Link 8.2. Queue Sizing Expand section "8.2. Queue Sizing" Collapse section "8.2. Queue Sizing" 8.2.1. Controlling Queue Size 8.2.2. Queue Threshold Alerts 8.3. Producer Flow Control Expand section "8.3. Producer Flow Control" Collapse section "8.3. Producer Flow Control" 8.3.1. Flow Control 8.3.2. Queue Flow State 8.3.3. Broker Default Flow Thresholds 8.3.4. Disable Broker-wide Default Flow Thresholds 8.3.5. Per-Queue Flow Thresholds 8.4. Credit-based Flow Control Expand section "8.4. Credit-based Flow Control" Collapse section "8.4. Credit-based Flow Control" 8.4.1. Flow Control Using Credit 8.4.2. Credit Allocation Modes 8.5. Durable Queues Expand section "8.5. Durable Queues" Collapse section "8.5. Durable Queues" 8.5.1. Durable Queues 8.5.2. Persistent Messages 8.5.3. Create a durable queue in an application 8.5.4. Mark a message as persistent 8.5.5. Durable Message State After Restart 8.5.6. Journal Description 8.5.7. Configure the Message Journal in an application 8.6. Transactions Expand section "8.6. Transactions" Collapse section "8.6. Transactions" 8.6.1. Transactions 8.6.2. Transactions Example 9. Qpid Management Framework (QMF) Expand section "9. Qpid Management Framework (QMF)" Collapse section "9. Qpid Management Framework (QMF)" 9.1. QMF - Qpid Management Framework 9.2. QMF Versions 9.3. Creating Exchanges from an Application 9.4. Broker Exchange and Queue Configuration via QMF 9.5. Command Messages 9.6. QMF Command Message Structure 9.7. Create Command 9.8. Delete Command 9.9. List Command 9.10. Queue and Exchange Creation using QMF 9.11. QMF Events 9.12. QMF Client Connection Events 9.13. ACL Lookup Query Methods 9.14. Using QMF in a Cluster 10. The Qpid Messaging API Expand section "10. The Qpid Messaging API" Collapse section "10. The Qpid Messaging API" 10.1. Handling Exceptions Expand section "10.1. Handling Exceptions" Collapse section "10.1. Handling Exceptions" 10.1.1. Messaging Exceptions Reference 10.1.2. C++ Messaging Exceptions Class Hierarchy 10.1.3. Connection Exceptions 10.1.4. Session Exceptions 10.1.5. Sender Exceptions 10.1.6. Receiver Exceptions 11. Addresses Expand section "11. Addresses" Collapse section "11. Addresses" 11.1. x-declare Parameters 11.2. Address String Options Reference 11.3. Node Properties 11.4. Link Properties 11.5. Address String Grammar 11.6. Connection Options 11.7. Setting Connection Options 11.8. Connection Options Reference 12. Message Timestamping Expand section "12. Message Timestamping" Collapse section "12. Message Timestamping" 12.1. Message Timestamping 12.2. Enable Message Timestamping at Broker Start-up 12.3. Enable Message Timestamping from an Application 12.4. Access a Message Timestamp in Python 12.5. Access a Message Timestamp in C++ 12.6. Using AMQ 0-10 Message Property Keys for Timestamping 13. Maps and Lists Expand section "13. Maps and Lists" Collapse section "13. Maps and Lists" 13.1. Maps and Lists in Message Content 13.2. Map and List Representation in Native Data Types 13.3. Qpid Maps and Lists in Python 13.4. Python Data Types in Maps 13.5. Qpid Maps and Lists in C++ 13.6. C++ Data Types in Maps 13.7. Qpid Maps and Lists in .NET C# 13.8. C# Data Types and .NET bindings 14. The Request/Response Pattern Expand section "14. The Request/Response Pattern" Collapse section "14. The Request/Response Pattern" 14.1. The Request/Response Pattern 14.2. Request/Response C++ Example 15. Performance Tips Expand section "15. Performance Tips" Collapse section "15. Performance Tips" 15.1. Apache Qpid Programming for Performance 16. Cluster Failover Expand section "16. Cluster Failover" Collapse section "16. Cluster Failover" 16.1. Changes to Clustering in MRG 3 16.2. Active-Passive Messaging Clusters 16.3. Cluster Failover in C++ 16.4. Cluster Failover in Python 16.5. Failover Behavior in Java JMS Clients 17. Logging Expand section "17. Logging" Collapse section "17. Logging" 17.1. Logging in C++ 17.2. Logging in Python 17.3. Change the logging level at runtime 18. Security Expand section "18. Security" Collapse section "18. Security" 18.1. Security features provided by Qpid 18.2. Authentication 18.3. SASL Support in Windows Clients 18.4. Enable Kerberos authentication 18.5. Enable SSL 18.6. SSL Client Environment Variables for C++ Clients 19. The AMQP 0-10 mapping Expand section "19. The AMQP 0-10 mapping" Collapse section "19. The AMQP 0-10 mapping" 19.1. The AMQP 0-10 mapping 19.2. AMQ 0-10 Message Property Keys 19.3. AMQP Routing Key and Message Subject 19.4. Using AMQ 0-10 Message Property Keys for Timestamping 20. Using the qpid-java AMQP 0-10 client Expand section "20. Using the qpid-java AMQP 0-10 client" Collapse section "20. Using the qpid-java AMQP 0-10 client" 20.1. A Simple Messaging Program in Java JMS 20.2. Apache Qpid JNDI Properties for AMQP Messaging 20.3. JNDI Properties for Apache Qpid 20.4. Durable Subscription Queues in MRG 3 20.5. Connection URLs 20.6. Java JMS Message Properties 20.7. JMS MapMessage Types 20.8. JMS ListMessage 20.9. JMS Client Logging 20.10. AMQP 0-10 JMS Client Configuration Expand section "20.10. AMQP 0-10 JMS Client Configuration" Collapse section "20.10. AMQP 0-10 JMS Client Configuration" 20.10.1. Configuration Methods and Granularity 20.10.2. qpid-java JVM Arguments 20.11. Java Message Service with Filters Expand section "20.11. Java Message Service with Filters" Collapse section "20.11. Java Message Service with Filters" 20.11.1. No Local filter 20.11.2. Selector filter 21. Using the qpid-jms AMQP 1.0 client Expand section "21. Using the qpid-jms AMQP 1.0 client" Collapse section "21. Using the qpid-jms AMQP 1.0 client" 21.1. QPID AMQP 1.0 JMS Client Configuration 21.2. QPID AMQP 1.0 JMS Client Connection URLs 21.3. QPID AMQP 1.0 JMS Client Logging 22. .NET Binding for Qpid C++ Messaging Expand section "22. .NET Binding for Qpid C++ Messaging" Collapse section "22. .NET Binding for Qpid C++ Messaging" 22.1. .NET Binding for the C++ Messaging Client Examples 22.2. .NET Binding Class Mapping to Underlying C++ Messaging API 22.3. .NET Binding for the C++ Messaging API Class: Address 22.4. .NET Binding for the C++ Messaging API Class: Connection 22.5. .NET Binding for the C++ Messaging API Class: Duration 22.6. .NET Binding for the C++ Messaging API Class: FailoverUpdates 22.7. .NET Binding for the C++ Messaging API Class: Message 22.8. .NET Binding for the C++ Messaging API Class: Receiver 22.9. .NET Binding for the C++ Messaging API Class: Sender 22.10. .NET Binding for the C++ Messaging API Class: Session 22.11. .NET Class: SessionReceiver A. Exchange and Queue Declaration Arguments Expand section "A. Exchange and Queue Declaration Arguments" Collapse section "A. Exchange and Queue Declaration Arguments" A.1. Exchange and Queue Argument Reference B. Revision History Legal Notice Settings Close Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF 11.6. Connection Options Aspects of the connection behavior can be controlled through connection options. For example, connections can be configured to automatically reconnect if the connection to a broker is lost. Report a bug Previous Next