Sha256: 59369cedb733dbcecddd110918413e0e7762d6d3dc9ec7cd7f934bfeab7f6a6e

Contents?: true

Size: 1.5 KB

Versions: 26

Compression:

Stored size: 1.5 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 "Declare a new fanout exchange" do |client|
  puts "AMQP connection is open: #{client.connection.server_properties.inspect}"

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

    exchange_name = "amqclient.adapters.em.exchange"

    10.times do
      exchange = AMQ::Client::Exchange.new(client, channel, exchange_name, :fanout)
      exchange.declare
    end

    exchange2 = AMQ::Client::Exchange.new(client, channel, exchange_name + "-2", :fanout)
    exchange2.declare

    AMQ::Client::Exchange.new(client, channel, exchange_name, :fanout).declare do |exchange, declare_ok|
      puts "Channel is aware of the following exchanges: #{channel.exchanges.map { |e| e.name }.join(', ')}"

      exchange.delete do
        puts "Exchange #{exchange.name} was successfully deleted"
        exchange2.delete do
          puts "Exchange #{exchange2.name} was successfully deleted"

          client.disconnect do
            puts
            puts "AMQP connection is now properly closed"
            EM.stop
          end
        end
      end
    end

    show_stopper = Proc.new {
      client.disconnect do
        puts
        puts "AMQP connection is now properly closed"
        EM.stop
      end
    }

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

    EM.add_timer(2, show_stopper)
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
amq-client-0.7.0.alpha25 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha24 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha23 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha22 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha21 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha20 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha19 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha18 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha17 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha16 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha15 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha14 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha13 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha12 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha11 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha10 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha9 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha8 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha7 examples/eventmachine_adapter/exchange_declare.rb
amq-client-0.7.0.alpha6 examples/eventmachine_adapter/exchange_declare.rb