Sha256: cd34f1914c0fd713b90be0e58e1b6b895b43b301f83b16900440ac5eda35f35e

Contents?: true

Size: 1.54 KB

Versions: 20

Compression:

Stored size: 1.54 KB

Contents

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

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

require "amq/client/extensions/rabbitmq/confirm"

amq_client_example "Publisher confirmations using RabbitMQ extension: routable message scenario" do |client|
  channel = AMQ::Client::Channel.new(client, 1)
  channel.open do
    puts "Channel #{channel.id} is now open"

    channel.confirmations
    channel.on_error do
      puts "Oops, there is a channel-levle exceptions!"
    end


    channel.confirm do |basic_ack|
      puts "Received basic_ack: multiple = #{basic_ack.multiple}, delivery_tag = #{basic_ack.delivery_tag}"
    end

    x = AMQ::Client::Exchange.new(client, channel, "amq.fanout", :fanout)

    q = AMQ::Client::Queue.new(client, channel, AMQ::Protocol::EMPTY_STRING)
    q.declare(false, false, true, true) do |_|
      puts "Defined a new server-named queue: #{q.name}"

      q.bind("amq.fanout").consume(false, true, true) { |consume_ok|
        puts "Received basic.consume-ok"
      }.on_delivery do |method, header, payload|
        puts "Received #{payload}"
      end
    end

    EM.add_timer(0.5) do
      10.times { |i| x.publish("Message ##{i}", AMQ::Protocol::EMPTY_STRING, { :delivery_mode => 2 }, true) }
    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(3, show_stopper)
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
amq-client-0.7.0.alpha19 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha18 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha17 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha16 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha15 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha14 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha13 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha12 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha11 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha10 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha9 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha8 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha7 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha6 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha5 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha4 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha3 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha2 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.7.0.alpha1 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb
amq-client-0.5.0 examples/eventmachine_adapter/extensions/rabbitmq/publisher_confirmations_with_transient_messages.rb