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/direct | |
| 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/direct')
| -rwxr-xr-x | qpid/python/examples/direct/declare_queues.py | 31 | ||||
| -rwxr-xr-x | qpid/python/examples/direct/direct_consumer.py | 32 | ||||
| -rwxr-xr-x | qpid/python/examples/direct/direct_producer.py | 34 | ||||
| -rwxr-xr-x | qpid/python/examples/direct/listener.py | 31 |
4 files changed, 74 insertions, 54 deletions
diff --git a/qpid/python/examples/direct/declare_queues.py b/qpid/python/examples/direct/declare_queues.py index f39f0c3349..7041ce2f24 100755 --- a/qpid/python/examples/direct/declare_queues.py +++ b/qpid/python/examples/direct/declare_queues.py @@ -10,8 +10,10 @@ 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.queue import Empty #----- Initialization ----------------------------------- @@ -20,17 +22,20 @@ 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))) #----- Create a queue ------------------------------------- @@ -38,15 +43,13 @@ session.session_open() # on the broker. Published messages are sent to the AMQP queue, # from which messages are delivered to consumers. # -# queue_bind() determines which messages are routed to a queue. -# Route all messages with the routing key "routing_key" to +# exchange_bind() determines which messages are routed to a queue. +# Route all messages with the binding key "routing_key" to # the AMQP queue named "message_queue". session.queue_declare(queue="message_queue") -session.queue_bind(exchange="amq.direct", queue="message_queue", routing_key="routing_key") +session.exchange_bind(exchange="amq.direct", queue="message_queue", binding_key="routing_key") #----- Cleanup --------------------------------------------- -session.session_close() - - +session.close(timeout=10) diff --git a/qpid/python/examples/direct/direct_consumer.py b/qpid/python/examples/direct/direct_consumer.py index 85c1db0a93..91d85cee1a 100755 --- a/qpid/python/examples/direct/direct_consumer.py +++ b/qpid/python/examples/direct/direct_consumer.py @@ -8,8 +8,11 @@ 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, RangedSet from qpid.queue import Empty @@ -19,17 +22,20 @@ 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))) #----- Read from queue -------------------------------------------- @@ -39,7 +45,7 @@ session.session_open() # The consumer tag identifies the client-side queue. consumer_tag = "consumer1" -queue = client.queue(consumer_tag) +queue = session.incoming(consumer_tag) # Call message_consume() to tell the broker to deliver messages # from the AMQP queue to this local client queue. The broker will @@ -57,7 +63,8 @@ content = "" # Content of the last message read message = None while content != final: message = queue.get(timeout=10) - content = message.content.body + content = message.body + session.message_accept(RangedSet(message.id)) print content # Messages are not removed from the queue until they are @@ -66,11 +73,12 @@ while content != final: # acknowledged. This is more efficient, because there are fewer # network round-trips. -message.complete(cumulative=True) +#message.complete(cumulative=True) +# ? Is there an equivakent to the above in the new API ? #----- Cleanup ------------------------------------------------ # Clean up before exiting so there are no open threads. # -session.session_close() +session.close(timeout=10) diff --git a/qpid/python/examples/direct/direct_producer.py b/qpid/python/examples/direct/direct_producer.py index 2c07bfd8e7..7c4e30d96e 100755 --- a/qpid/python/examples/direct/direct_producer.py +++ b/qpid/python/examples/direct/direct_producer.py @@ -8,8 +8,11 @@ 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,34 +21,33 @@ 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. +props = session.delivery_properties(routing_key="routing_key") for i in range(10): - message = Content("message " + str(i)) - message["routing_key"] = "routing_key" - session.message_transfer(destination="amq.direct", content=message) + session.message_transfer("amq.direct",None, None, Message(props,"message " + str(i))) -final="That's all, folks!" -message = Content(final) -message["routing_key"] = "routing_key" -session.message_transfer(destination="amq.direct", content=message) +session.message_transfer("amq.direct",None,None, Message(props,"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/direct/listener.py b/qpid/python/examples/direct/listener.py index 2dbd502fa0..aa60b1c501 100755 --- a/qpid/python/examples/direct/listener.py +++ b/qpid/python/examples/direct/listener.py @@ -9,8 +9,11 @@ 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, RangedSet from qpid.queue import Empty from time import sleep @@ -24,7 +27,8 @@ class Receiver: return self.finalReceived def Handler (self, message): - content = message.content.body + content = message.body + session.message_accept(RangedSet(message.id)) print content if content == "That's all, folks!": self.finalReceived = True @@ -34,7 +38,7 @@ class Receiver: # up to and including the one identified by the delivery tag are # acknowledged. This is more efficient, because there are fewer # network round-trips. - message.complete(cumulative=True) + #message.complete(cumulative=True) #----- Initialization -------------------------------------- @@ -43,17 +47,20 @@ class Receiver: 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))) #----- Read from queue -------------------------------------------- @@ -63,7 +70,7 @@ session.session_open() # The consumer tag identifies the client-side queue. consumer_tag = "consumer1" -queue = client.queue(consumer_tag) +queue = session.incoming(consumer_tag) # Call message_subscribe() to tell the broker to deliver messages # from the AMQP queue to this local client queue. The broker will @@ -85,4 +92,4 @@ while not receiver.isFinal (): # Clean up before exiting so there are no open threads. # -session.session_close() +session.close(timeout=10) |
