diff options
Diffstat (limited to 'RC9/qpid/python/hello-world')
| -rwxr-xr-x | RC9/qpid/python/hello-world | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/RC9/qpid/python/hello-world b/RC9/qpid/python/hello-world new file mode 100755 index 0000000000..efee84059c --- /dev/null +++ b/RC9/qpid/python/hello-world @@ -0,0 +1,64 @@ +#!/usr/bin/env python +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +import sys +from qpid.connection import Connection +from qpid.util import connect +from qpid.datatypes import uuid4, Message + +broker = "127.0.0.1" +port = 5672 + +if len(sys.argv) > 1: broker = sys.argv[1] +if len(sys.argv) > 2: port = int(sys.argv[2]) + +if len(sys.argv) > 3: + print >> sys.stderr, "usage: hello-world [ <broker> [ <port> ] ]" + sys.exit(1) + +# connect to the server and start a session +conn = Connection(connect(broker, port)) +conn.start() +ssn = conn.session(str(uuid4())) + +# create a queue +ssn.queue_declare("test-queue") + +# publish a message +dp = ssn.delivery_properties(routing_key="test-queue") +mp = ssn.message_properties(content_type="text/plain") +msg = Message(dp, mp, "Hello World!") +ssn.message_transfer(message=msg) + +# subscribe to a queue +ssn.message_subscribe(destination="messages", queue="test-queue", + accept_mode=ssn.accept_mode.none) +incoming = ssn.incoming("messages") + +# start incoming message flow +incoming.start() + +# grab a message from the queue + +print incoming.get(timeout=10) + +# cancel the subscription and close the session and connection +ssn.message_cancel(destination="messages") +ssn.close() +conn.close() |
