summaryrefslogtreecommitdiff
path: root/qpid/python/examples/fanout
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-05-01 10:15:35 +0000
committerGordon Sim <gsim@apache.org>2008-05-01 10:15:35 +0000
commit5fe0458b26fdf5ec233d8181201d3673a15006ae (patch)
treea78180e863ad354638fbe58c568dc134dab408fb /qpid/python/examples/fanout
parent27ecd6f07fb30357a77cbcf8ced20d7711b0db08 (diff)
downloadqpid-python-5fe0458b26fdf5ec233d8181201d3673a15006ae.tar.gz
QPID-966: applied patch from rajith; altered to use uuid as session name; updated verify scripts for automated testing;
re-enabled automated testing in c++ build git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@652469 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/examples/fanout')
-rwxr-xr-xqpid/python/examples/fanout/fanout_consumer.py43
-rwxr-xr-xqpid/python/examples/fanout/fanout_producer.py32
-rw-r--r--qpid/python/examples/fanout/verify2
-rw-r--r--qpid/python/examples/fanout/verify.in4
4 files changed, 44 insertions, 37 deletions
diff --git a/qpid/python/examples/fanout/fanout_consumer.py b/qpid/python/examples/fanout/fanout_consumer.py
index ef24bf35b2..b82d8045ff 100755
--- a/qpid/python/examples/fanout/fanout_consumer.py
+++ b/qpid/python/examples/fanout/fanout_consumer.py
@@ -5,21 +5,22 @@
This AMQP client reads messages from a message
queue named "message_queue".
"""
-import base64
import qpid
import sys
-from qpid.client import Client
-from qpid.content import Content
+import os
+from qpid.util import connect
+from qpid.connection import Connection
+from qpid.datatypes import Message, RangedSet, uuid4
from qpid.queue import Empty
#----- Functions -------------------------------------------
-def dump_queue(client, queue_name):
+def dump_queue(session, queue_name):
print "Messages queue: " + queue_name
consumer_tag = queue_name # Use the queue name as the consumer tag - need a unique tag
- queue = client.queue(consumer_tag)
+ queue = session.incoming(queue_name)
# Call message_subscribe() to tell the broker to deliver messages
# from the AMQP queue to a local client queue. The broker will
@@ -37,7 +38,8 @@ def dump_queue(client, queue_name):
while True:
try:
message = queue.get(timeout=10)
- content = message.content.body
+ content = message.body
+ session.message_accept(RangedSet(message.id))
print "Response: " + content
except Empty:
print "No more messages!"
@@ -53,8 +55,8 @@ def dump_queue(client, queue_name):
# by the delivery tag are acknowledged. This is more efficient,
# because there are fewer network round-trips.
- if message != 0:
- message.complete(cumulative=True)
+ #if message != 0:
+ # message.complete(cumulative=True)
#----- Initialization --------------------------------------
@@ -63,36 +65,39 @@ def dump_queue(client, queue_name):
host=len(sys.argv) > 1 and sys.argv[1] or "127.0.0.1"
port=len(sys.argv) > 2 and int(sys.argv[2]) or 5672
-amqp_spec="/usr/share/amqp/amqp.0-10-preview.xml"
user="guest"
password="guest"
+amqp_spec=""
-# Create a client and log in to it.
+try:
+ amqp_spec = os.environ["AMQP_SPEC"]
+except KeyError:
+ amqp_spec="/usr/share/amqp/amqp.0-10.xml"
-client = Client(host, port, qpid.spec.load(amqp_spec))
-client.start({"LOGIN": user, "PASSWORD": password})
+# Create a connection.
+conn = Connection (connect (host,port), qpid.spec.load(amqp_spec))
+conn.start()
-session = client.session()
-session_info = session.session_open()
-session_id = session_info.session_id
+session_id = str(uuid4())
+session = conn.session(session_id)
#----- Main Body -- ----------------------------------------
# Make a unique queue name for my queue from the session ID.
-my_queue = base64.urlsafe_b64encode(session_id)
+my_queue = session_id
session.queue_declare(queue=my_queue)
# Bind my queue to the fanout exchange. No routing key is required
# the fanout exchange copies messages unconditionally to every
# bound queue
-session.queue_bind(queue=my_queue, exchange="amq.fanout")
+session.exchange_bind(queue=my_queue, exchange="amq.fanout")
# Dump the messages on the queue.
-dump_queue(client, my_queue)
+dump_queue(session, my_queue)
#----- Cleanup ------------------------------------------------
# Clean up before exiting so there are no open threads.
#
-session.session_close()
+session.close(timeout=10)
diff --git a/qpid/python/examples/fanout/fanout_producer.py b/qpid/python/examples/fanout/fanout_producer.py
index 9864c776c1..1b5ea6995e 100755
--- a/qpid/python/examples/fanout/fanout_producer.py
+++ b/qpid/python/examples/fanout/fanout_producer.py
@@ -5,11 +5,13 @@
Publishes messages to an AMQP direct exchange, using
the routing key "routing_key"
"""
-
import qpid
import sys
-from qpid.client import Client
-from qpid.content import Content
+import os
+from random import randint
+from qpid.util import connect
+from qpid.connection import Connection
+from qpid.datatypes import Message
from qpid.queue import Empty
#----- Initialization -----------------------------------
@@ -18,32 +20,32 @@ from qpid.queue import Empty
host=len(sys.argv) > 1 and sys.argv[1] or "127.0.0.1"
port=len(sys.argv) > 2 and int(sys.argv[2]) or 5672
-amqp_spec="/usr/share/amqp/amqp.0-10-preview.xml"
user="guest"
password="guest"
+amqp_spec=""
-# Create a client and log in to it.
+try:
+ amqp_spec = os.environ["AMQP_SPEC"]
+except KeyError:
+ amqp_spec="/usr/share/amqp/amqp.0-10.xml"
-client = Client(host, port, qpid.spec.load(amqp_spec))
-client.start({"LOGIN": user, "PASSWORD": password})
+# Create a connection.
+conn = Connection (connect (host,port), qpid.spec.load(amqp_spec))
+conn.start()
-session = client.session()
-session.session_open()
+session = conn.session(str(randint(1,64*1024)))
#----- Publish some messages ------------------------------
# Create some messages and put them on the broker.
for i in range(10):
- message = Content(body="message " + str(i))
- session.message_transfer(destination="amq.fanout", content=message)
+ session.message_transfer("amq.fanout", None, None ,Message("message " + str(i)))
-final="That's all, folks!"
-message=Content(final)
-session.message_transfer(destination="amq.fanout", content=message)
+session.message_transfer("amq.fanout", None, None, Message("That's all, folks!"))
#----- Cleanup --------------------------------------------
# Clean up before exiting so there are no open threads.
-session.session_close()
+session.close(timeout=10)
diff --git a/qpid/python/examples/fanout/verify b/qpid/python/examples/fanout/verify
index 7650853e11..6a3132a94f 100644
--- a/qpid/python/examples/fanout/verify
+++ b/qpid/python/examples/fanout/verify
@@ -2,4 +2,4 @@
background "Subscribed" ./fanout_consumer.py
background "Subscribed" ./fanout_consumer.py
clients ./fanout_producer.py
-outputs ./fanout_producer.py.out "./fanout_consumer.py.out | remove_uuid64" "./fanout_consumer.pyX.out | remove_uuid64"
+outputs ./fanout_producer.py.out "./fanout_consumer.py.out | remove_uuid" "./fanout_consumer.pyX.out | remove_uuid"
diff --git a/qpid/python/examples/fanout/verify.in b/qpid/python/examples/fanout/verify.in
index d5067b3850..30dfeb9e69 100644
--- a/qpid/python/examples/fanout/verify.in
+++ b/qpid/python/examples/fanout/verify.in
@@ -1,5 +1,5 @@
==== fanout_producer.py.out
-==== fanout_consumer.py.out | remove_uuid64
+==== fanout_consumer.py.out | remove_uuid
Messages queue:
Subscribed to queue
Response: message 0
@@ -14,7 +14,7 @@ Response: message 8
Response: message 9
Response: That's all, folks!
No more messages!
-==== fanout_consumer.pyX.out | remove_uuid64
+==== fanout_consumer.pyX.out | remove_uuid
Messages queue:
Subscribed to queue
Response: message 0