summaryrefslogtreecommitdiff
path: root/qpid/python/examples/pubsub/topic_consumer.py
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-12-19 16:01:28 +0000
committerGordon Sim <gsim@apache.org>2007-12-19 16:01:28 +0000
commita8cfd6ce0dd80f4e2980f48282d074aef53f8132 (patch)
treecb91e40edeb86443382bdbf071270f86eea8f9a3 /qpid/python/examples/pubsub/topic_consumer.py
parentb4953dd742da8c4729632ce2b6d99ebb0c8f9b32 (diff)
downloadqpid-python-a8cfd6ce0dd80f4e2980f48282d074aef53f8132.tar.gz
File rename to better fit the pubsub nomenclature (from jrobie@redhat.com)
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@605599 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python/examples/pubsub/topic_consumer.py')
-rw-r--r--qpid/python/examples/pubsub/topic_consumer.py118
1 files changed, 0 insertions, 118 deletions
diff --git a/qpid/python/examples/pubsub/topic_consumer.py b/qpid/python/examples/pubsub/topic_consumer.py
deleted file mode 100644
index afe8bba91e..0000000000
--- a/qpid/python/examples/pubsub/topic_consumer.py
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/env python
-"""
- topic_consumer.py
-
- This AMQP client reads all messages from the
- "news", "weather", "usa", and "europe" queues
- created and bound by config_topic_exchange.py.
-"""
-
-import base64
-
-import qpid
-from qpid.client import Client
-from qpid.content import Content
-from qpid.queue import Empty
-
-#----- Functions -------------------------------------------
-
-def dump_queue(client, 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)
-
- # Call basic_consume() to tell the broker to deliver messages
- # from the AMQP queue to a local client queue. The broker will
- # start delivering messages as soon as basic_consume() is called.
-
- session.message_subscribe(queue=queue_name, destination=consumer_tag)
- session.message_flow(consumer_tag, 0, 0xFFFFFFFF)
- session.message_flow(consumer_tag, 1, 0xFFFFFFFF)
-
- content = "" # Content of the last message read
- final = "That's all, folks!" # In a message body, signals the last message
- message = 0
-
- while content != final:
- try:
- message = queue.get()
- content = message.content.body
- print content
- except Empty:
- if message != 0:
- message.complete(cumulative=True)
- print "No more messages!"
- return
-
-
- # Messages are not removed from the queue until they
- # are acknowledged. Using multiple=True, all messages
- # in the channel up to and including the one identified
- # by the delivery tag are acknowledged. This is more efficient,
- # because there are fewer network round-trips.
-
- if message != 0:
- message.complete(cumulative=True)
-
-
-#----- Initialization --------------------------------------
-
-# Set parameters for login
-
-host="127.0.0.1"
-port=5672
-amqp_spec="/usr/share/amqp/amqp.0-10-preview.xml"
-user="guest"
-password="guest"
-
-# Create a client and log in to it.
-
-spec = qpid.spec.load(amqp_spec)
-client = Client(host, port, spec)
-client.start({"LOGIN": user, "PASSWORD": password})
-
-session = client.session()
-session_info = session.session_open()
-session_id = session_info.session_id
-
-#----- Main Body -- ----------------------------------------
-
-
-news = "news" + base64.urlsafe_b64encode(session_id)
-weather = "weather" + base64.urlsafe_b64encode(session_id)
-usa = "usa" + base64.urlsafe_b64encode(session_id)
-europe = "europe" + base64.urlsafe_b64encode(session_id)
-
-session.queue_declare(queue=news, exclusive=True)
-session.queue_declare(queue=weather, exclusive=True)
-session.queue_declare(queue=usa, exclusive=True)
-session.queue_declare(queue=europe, exclusive=True)
-
-# Routing keys may be "usa.news", "usa.weather", "europe.news", or "europe.weather".
-
-# The '#' symbol matches one component of a multipart name, e.g. "#.news" matches
-# "europe.news" or "usa.news".
-
-session.queue_bind(exchange="amq.topic", queue=news, routing_key="#.news")
-session.queue_bind(exchange="amq.topic", queue=weather, routing_key="#.weather")
-session.queue_bind(exchange="amq.topic", queue=usa, routing_key="usa.#")
-session.queue_bind(exchange="amq.topic", queue=europe, routing_key="europe.#")
-
-# Remind the user to start the topic producer
-
-print "Queues create - please start the topic producer"
-
-# Call dump_queue to print messages from each queue
-
-dump_queue(client, news)
-dump_queue(client, weather)
-dump_queue(client, usa)
-dump_queue(client, europe)
-
-#----- Cleanup ------------------------------------------------
-
-# Clean up before exiting so there are no open threads.
-
-session.session_close()