Sha256: b1099cbc66a1b15e658b628986c5e42fa010d51e7ace62411cb0529469c3a632

Contents?: true

Size: 1.45 KB

Versions: 42

Compression:

Stored size: 1.45 KB

Contents

#!/usr/bin/env ruby
# encoding: utf-8

__dir = File.dirname(File.expand_path(__FILE__))
require File.join(__dir, "example_helper")

amq_client_example "An example that combines several AMQ operations" do |connection|
  puts "AMQP connection is open: #{connection.server_properties.inspect}"

  channel = AMQ::Client::Channel.new(connection, 1)
  channel.open do
    puts "Channel #{channel.id} is now open!"
  end

  queue = AMQ::Client::Queue.new(connection, channel, "amqclient.queue2")
  queue.declare(false, false, false, true) do
    puts "Queue #{queue.name.inspect} is now declared!"
  end

  exchange = AMQ::Client::Exchange.new(connection, channel, "amqclient.adapters.em.exchange1", :fanout)
  exchange.declare { puts "Exchange #{exchange.name.inspect} is now declared!" }

  queue.consume do |consume_ok|
    puts "basic.consume_ok callback has fired for #{queue.name}, consumer_tag = #{consume_ok.consumer_tag}"
  end


  show_stopper = Proc.new {
    puts
    puts "Deleting queue #{queue.name}"
    queue.delete do |delete_ok|
      puts
      puts "Deleted #{queue.name}. It had #{delete_ok.message_count} messages in it."
      puts
      puts "Deleting exchange #{exchange.name}"
      exchange.delete do
        connection.disconnect do
          puts
          puts "AMQP connection is now properly closed"
          EM.stop
        end
      end
    end
  }

  Signal.trap "INT",  show_stopper
  Signal.trap "TERM", show_stopper

  EM.add_timer(1, show_stopper)
end

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
amq-client-0.9.0 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.9.0.pre2 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.9.0.pre1 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.7 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.7.pre1 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.6 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.5 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.4 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.3 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.2 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.1 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.8.0 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha35 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha34 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha33 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha32 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha31 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha30 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha29 examples/eventmachine_adapter/kitchen_sink1.rb
amq-client-0.7.0.alpha28 examples/eventmachine_adapter/kitchen_sink1.rb