diff options
| author | Gordon Sim <gsim@apache.org> | 2008-05-01 10:15:35 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2008-05-01 10:15:35 +0000 |
| commit | 5fe0458b26fdf5ec233d8181201d3673a15006ae (patch) | |
| tree | a78180e863ad354638fbe58c568dc134dab408fb /qpid/python/examples/fanout | |
| parent | 27ecd6f07fb30357a77cbcf8ced20d7711b0db08 (diff) | |
| download | qpid-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-x | qpid/python/examples/fanout/fanout_consumer.py | 43 | ||||
| -rwxr-xr-x | qpid/python/examples/fanout/fanout_producer.py | 32 | ||||
| -rw-r--r-- | qpid/python/examples/fanout/verify | 2 | ||||
| -rw-r--r-- | qpid/python/examples/fanout/verify.in | 4 |
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 |
