examples/coolio_adapter/basic_consume.rb in amq-client-0.7.0.alpha25 vs examples/coolio_adapter/basic_consume.rb in amq-client-0.7.0.alpha26
- old
+ new
@@ -2,48 +2,52 @@
# encoding: utf-8
__dir = File.dirname(File.expand_path(__FILE__))
require File.join(__dir, "example_helper")
-amq_client_example "Set a queue up for message delivery" do |client|
- channel = AMQ::Client::Channel.new(client, 1)
+amq_client_example "Set a queue up for message delivery" do |connection|
+ channel = AMQ::Client::Channel.new(connection, 1)
channel.open do
puts "Channel #{channel.id} is now open!"
end
- queue = AMQ::Client::Queue.new(client, channel)
+ queue = AMQ::Client::Queue.new(connection, channel)
queue.declare(false, false, false, true) do
puts "Server-named, auto-deletable Queue #{queue.name.inspect} is ready"
end
queue.bind("amq.fanout") do
puts "Queue #{queue.name} is now bound to amq.fanout"
end
- queue.consume(true) do |consumer_tag|
- puts "Subscribed for messages routed to #{queue.name}, consumer tag is #{consumer_tag}, using no-ack mode"
+ show_stopper = Proc.new {
+ connection.disconnect do
+ puts
+ puts "AMQP connection is now properly closed"
+ Coolio::Loop.default.stop
+ end
+ }
+
+
+ queue.consume(true) do |consume_ok|
+ puts "Subscribed for messages routed to #{queue.name}, consumer tag is #{consume_ok.consumer_tag}, using no-ack mode"
puts
- queue.on_delivery do |header, payload, consumer_tag, delivery_tag, redelivered, exchange, routing_key|
+ queue.on_delivery do |basic_deliver, header, payload|
puts "Got a delivery:"
- puts " Delivery tag: #{delivery_tag}"
+ puts " Delivery tag: #{basic_deliver.delivery_tag}"
puts " Header: #{header.inspect}"
puts " Payload: #{payload.inspect}"
+
+ show_stopper.call if basic_deliver.delivery_tag == 100
end
- exchange = AMQ::Client::Exchange.new(client, channel, "amq.fanout", :fanout)
+ exchange = AMQ::Client::Exchange.new(connection, channel, "amq.fanout", :fanout)
100.times do |i|
exchange.publish("Message ##{i}")
end
end
- show_stopper = Proc.new {
- client.disconnect do
- puts
- puts "AMQP connection is now properly closed"
- Coolio::Loop.default.stop
- end
- }
Signal.trap "INT", show_stopper
Signal.trap "TERM", show_stopper
end