summaryrefslogtreecommitdiff
path: root/qpid/python/examples/direct
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/direct
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/direct')
-rwxr-xr-xqpid/python/examples/direct/declare_queues.py31
-rwxr-xr-xqpid/python/examples/direct/direct_consumer.py32
-rwxr-xr-xqpid/python/examples/direct/direct_producer.py34
-rwxr-xr-xqpid/python/examples/direct/listener.py31
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)