From 5eb354b338bb8d8fcd35b6ac3fb33f8103e757c3 Mon Sep 17 00:00:00 2001 From: "Stephen D. Huston" Date: Thu, 20 Oct 2011 18:42:46 +0000 Subject: 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 --- cpp/bindings/qpid/ruby/examples/server.rb | 51 +++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 cpp/bindings/qpid/ruby/examples/server.rb (limited to 'cpp/bindings/qpid/ruby/examples/server.rb') diff --git a/cpp/bindings/qpid/ruby/examples/server.rb b/cpp/bindings/qpid/ruby/examples/server.rb new file mode 100644 index 0000000000..ead9d58472 --- /dev/null +++ b/cpp/bindings/qpid/ruby/examples/server.rb @@ -0,0 +1,51 @@ +# +# 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' + +if __FILE__ == $0 + broker = ARGV[0] || "amqp:tcp:localhost:5672" + options = ARGV[1] || "" + + connection = Qpid::Messaging::Connection.new broker, options + connection.open + session = connection.create_session + receiver = session.create_receiver "service_queue; {create:always}" + + loop do + request = receiver.fetch + address = request.reply_to + + if !address.nil? + sender = session.create_sender address + response = Qpid::Messaging::Message.new :content => request.content.upcase + sender.send response + puts "Processed request: #{request.content} -> #{response.content}" + session.acknowledge + else + puts "Error: no reply address specified for request: #{request.content}" + session.reject request + end + end + + connection.close +end + -- cgit v1.2.1