diff options
| author | Stephen D. Huston <shuston@apache.org> | 2011-10-20 18:42:46 +0000 |
|---|---|---|
| committer | Stephen D. Huston <shuston@apache.org> | 2011-10-20 18:42:46 +0000 |
| commit | 5eb354b338bb8d8fcd35b6ac3fb33f8103e757c3 (patch) | |
| tree | f24776684c025fbed6a0431bf3d6811f0a1aae7a /cpp/bindings/qpid/ruby/examples/map_receiver.rb | |
| parent | 718ff5b34dd1e87eb79fa4c61fec668d1dc33103 (diff) | |
| download | qpid-python-5eb354b338bb8d8fcd35b6ac3fb33f8103e757c3.tar.gz | |
Merge trunk to QPID-2519 branch
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/QPID-2519@1186990 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings/qpid/ruby/examples/map_receiver.rb')
| -rw-r--r-- | cpp/bindings/qpid/ruby/examples/map_receiver.rb | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/cpp/bindings/qpid/ruby/examples/map_receiver.rb b/cpp/bindings/qpid/ruby/examples/map_receiver.rb new file mode 100644 index 0000000000..805943a0a4 --- /dev/null +++ b/cpp/bindings/qpid/ruby/examples/map_receiver.rb @@ -0,0 +1,63 @@ +# +# 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. +# + +$:.unshift File.join(File.dirname(__FILE__), "..", "lib") + +require 'qpid' + +broker = ARGV[0] || "amqp:tcp:127.0.0.1:5672" +address = ARGV[1] || "message_queue; {create: always}" +options = ARGV[2] || "" + +connection = Qpid::Messaging::Connection.new broker, options +connection.open + +def display_value value + case value + when Array + result = "" + value.each_with_index {|element, index| result += "#{', ' if index > 0}#{element}"} + return "[#{result}]" + end + + value.to_s +end + +begin + session = connection.create_session + receiver = session.create_receiver address + + message = receiver.fetch + content = message.content + + print "content-type:#{message.content_type}" + print "{" + content.keys.sort.each_with_index do |key, index| + print "#{', ' if index > 0}#{key}:#{display_value content[key]}" + end + print "}\n" + + session.acknowledge + +rescue Exception => error + puts "Exception: #{error.message}" +end + +connection.close + |
