diff options
| author | Robert Gemmell <robbie@apache.org> | 2016-07-05 21:55:35 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2016-07-05 21:55:35 +0000 |
| commit | f160cb6566c17945f7ebc4f3a752b2cc6a051685 (patch) | |
| tree | 809f04fc1967c22e5abc52de07602555bed0e920 /qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml | |
| parent | ebb276cca41582b73223b55eff9f2d4386f4f746 (diff) | |
| download | qpid-python-f160cb6566c17945f7ebc4f3a752b2cc6a051685.tar.gz | |
QPID-7207: remove cpp and python subdirs from svn trunk, they have migrated to their own git repositories
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1751566 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml')
| -rw-r--r-- | qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml b/qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml deleted file mode 100644 index 0ec6982bac..0000000000 --- a/qpid/cpp/docs/book/src/programming/Message-Groups-Guide.xml +++ /dev/null @@ -1,163 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - ---> - -<section id="Message-Groups-Guide"> - <title>Using Message Groups</title> - <para> - This section describes how messaging applications can use the Message Group feature - provided by the Broker. - </para> - <note> - The content of this section assumes the reader is familiar with the Message Group - feature as described in the AMQP Messaging Broker user's guide. Please read the - message grouping section in the Broker user's guide before using the - examples given in this section. - </note> - <section role="h2" id="messagegroups-setup"> - <title>Creating Message Group Queues</title> - <para> - The following examples show how to create a message group queue that enforces - ordered group consumption across multiple consumers. - </para> - <example> - <title>Message Group Queue Creation - Python</title> - <programlisting lang="python"> -sender = connection.session().sender("msg-group-q;" + - " {create:always, delete:receiver," + - " node: {x-declare: {arguments:" + - " {'qpid.group_header_key':'THE-GROUP'," + - " 'qpid.shared_msg_group':1}}}}") - </programlisting> - </example> - <example> - <title>Message Group Queue Creation - C++</title> - <programlisting lang="c++"> -std::string addr("msg-group-q; " - " {create:always, delete:receiver," - " node: {x-declare: {arguments:" - " {qpid.group_header_key:'THE-GROUP'," - " qpid.shared_msg_group:1}}}}"); -Sender sender = session.createSender(addr); - </programlisting> - </example> - <example> - <title>Message Group Queue Creation - Java</title> - <programlisting lang="java"> -Session s = c.createSession(false, Session.CLIENT_ACKNOWLEDGE); -String addr = "msg-group-q; {create:always, delete:receiver," + - " node: {x-declare: {arguments:" + - " {'qpid.group_header_key':'THE-GROUP'," + - " 'qpid.shared_msg_group':1}}}}"; -Destination d = (Destination) new AMQAnyDestination(addr); -MessageProducer sender = s.createProducer(d); - </programlisting> - </example> - <para> - The example code uses the x-declare map to specify the message group configuration - that should be used for the queue. See the AMQP Messaging Broker user's guide - for a detailed description of these arguments. Note that the - qpid.group_header_key's value MUST be a string type if using the C++ broker. - </para> - </section> - <section role="h2" id="messagegroups-sending"> - <title>Sending Grouped Messages</title> - <para> - When sending grouped messages, the client must add a message property containing the - group identifier to the outgoing message. If using the C++ broker, the group identifier - must be a string type. The key used for the property must exactly match the value passed in the - 'qpid.group_header_key' configuration argument. - </para> - <example> - <title>Sending Grouped Messages - Python</title> - <programlisting lang="python"> -group = "A" -m = Message(content="some data", properties={"THE-GROUP": group}) -sender.send(m) - -group = "B" -m = Message(content="some other group's data", properties={"THE-GROUP": group}) -sender.send(m) - -group = "A" -m = Message(content="more data for group 'A'", properties={"THE-GROUP": group}) -sender.send(m) - </programlisting> - </example> - <example> - <title>Sending Grouped Messages - C++</title> - <programlisting lang="C++"> - -const std::string groupKey("THE-GROUP"); -{ - Message msg("some data"); - msg.getProperties()[groupKey] = std::string("A"); - sender.send(msg); -} -{ - Message msg("some other group's data"); - msg.getProperties()[groupKey] = std::string("B"); - sender.send(msg); -} -{ - Message msg("more data for group 'A'"); - msg.getProperties()[groupKey] = std::string("A"); - sender.send(msg); -} - </programlisting> - </example> - <example> - <title>Sending Grouped Messages - Java</title> - <programlisting lang="java"> -String groupKey = "THE-GROUP"; - -TextMessage tmsg1 = s.createTextMessage("some data"); -tmsg1.setStringProperty(groupKey, "A"); -sender.send(tmsg1); - -TextMessage tmsg2 = s.createTextMessage("some other group's data"); -tmsg2.setStringProperty(groupKey, "B"); -sender.send(tmsg2); - -TextMessage tmsg3 = s.createTextMessage("more data for group 'A'"); -tmsg3.setStringProperty(groupKey, "A"); -sender.send(tmsg3); - </programlisting> - </example> - <para> - The examples above send two groups worth of messages to the queue created in the - previous example. Two messages belong to group "A", and one belongs to group - "B". Note that it is not necessary to complete sending one group's messages before - starting another. Also note that there is no need to indicate to the broker when a - new group is created or an existing group retired - the broker tracks group state - automatically. - </para> - </section> - <section role="h2" id="messagegroups-receiving"> - <title>Receiving Grouped Messages</title> - <para> - Since the broker enforces group policy when delivering messages, no special actions - are necessary for receiving grouped messages from the broker. However, applications - must adhere to the rules for message group consumption as described in the AMQP - Messaging Broker user's guide. - </para> - </section> -</section> |
