amq-client 0.7.0.alpha35 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +0 -1
- data/.travis.yml +9 -3
- data/Gemfile +22 -12
- data/amq-client.gemspec +1 -1
- data/examples/coolio_adapter/example_helper.rb +2 -0
- data/examples/eventmachine_adapter/basic_consume_with_acknowledgements.rb +3 -3
- data/examples/eventmachine_adapter/{connection_failure_callback.rb → error_handling/connection_failure_callback.rb} +4 -8
- data/examples/eventmachine_adapter/{connection_failure_exception.rb → error_handling/connection_failure_exception.rb} +5 -9
- data/examples/eventmachine_adapter/{connection_loss_handler.rb → error_handling/connection_loss_handler_that_fails_over.rb} +12 -12
- data/examples/eventmachine_adapter/error_handling/connection_loss_handler_with_automatic_recovery.rb +85 -0
- data/examples/eventmachine_adapter/error_handling/connection_loss_handler_with_manual_recovery.rb +85 -0
- data/examples/eventmachine_adapter/error_handling/handling_a_channel_level_exception.rb +2 -5
- data/examples/eventmachine_adapter/example_helper.rb +2 -0
- data/examples/eventmachine_adapter/server_capabilities.rb +12 -0
- data/examples/eventmachine_adapter/tls/tls_without_peer_verification.rb +2 -2
- data/lib/amq/client/async/adapter.rb +170 -31
- data/lib/amq/client/async/adapters/coolio.rb +18 -1
- data/lib/amq/client/async/adapters/event_machine.rb +48 -32
- data/lib/amq/client/async/adapters/eventmachine.rb +3 -1
- data/lib/amq/client/async/callbacks.rb +9 -7
- data/lib/amq/client/async/channel.rb +113 -20
- data/lib/amq/client/async/consumer.rb +270 -0
- data/lib/amq/client/async/exchange.rb +137 -16
- data/lib/amq/client/async/extensions/rabbitmq/confirm.rb +4 -4
- data/lib/amq/client/async/queue.rb +217 -113
- data/lib/amq/client/callbacks.rb +2 -0
- data/lib/amq/client/consumer_tag_generator.rb +24 -0
- data/lib/amq/client/exceptions.rb +10 -6
- data/lib/amq/client/handlers_registry.rb +2 -0
- data/lib/amq/client/queue.rb +2 -0
- data/lib/amq/client/server_named_entity.rb +1 -8
- data/lib/amq/client/settings.rb +64 -2
- data/lib/amq/client/version.rb +3 -1
- data/spec/benchmarks/adapters.rb +2 -0
- data/spec/client/framing/io_frame_spec.rb +9 -6
- data/spec/integration/coolio/basic_ack_spec.rb +2 -0
- data/spec/integration/coolio/basic_cancel_spec.rb +2 -0
- data/spec/integration/coolio/basic_consume_spec.rb +58 -0
- data/spec/integration/coolio/basic_get_spec.rb +2 -0
- data/spec/integration/coolio/basic_return_spec.rb +2 -0
- data/spec/integration/coolio/channel_close_spec.rb +2 -0
- data/spec/integration/coolio/channel_flow_spec.rb +2 -0
- data/spec/integration/coolio/connection_close_spec.rb +2 -0
- data/spec/integration/coolio/connection_start_spec.rb +2 -0
- data/spec/integration/coolio/exchange_declare_spec.rb +8 -6
- data/spec/integration/coolio/spec_helper.rb +2 -0
- data/spec/integration/coolio/tx_commit_spec.rb +2 -1
- data/spec/integration/coolio/tx_rollback_spec.rb +1 -1
- data/spec/integration/eventmachine/basic_ack_spec.rb +3 -1
- data/spec/integration/eventmachine/basic_cancel_spec.rb +2 -0
- data/spec/integration/eventmachine/basic_consume_spec.rb +90 -6
- data/spec/integration/eventmachine/basic_get_spec.rb +2 -0
- data/spec/integration/eventmachine/basic_return_spec.rb +2 -0
- data/spec/integration/eventmachine/channel_close_spec.rb +2 -0
- data/spec/integration/eventmachine/channel_flow_spec.rb +4 -2
- data/spec/integration/eventmachine/concurrent_basic_publish_spec.rb +79 -0
- data/spec/integration/eventmachine/connection_close_spec.rb +2 -0
- data/spec/integration/eventmachine/connection_start_spec.rb +2 -0
- data/spec/integration/eventmachine/exchange_declare_spec.rb +4 -2
- data/spec/integration/eventmachine/queue_declare_spec.rb +2 -0
- data/spec/integration/eventmachine/regressions/amqp_gem_issue66_spec.rb +2 -0
- data/spec/integration/eventmachine/spec_helper.rb +2 -0
- data/spec/integration/eventmachine/tx_commit_spec.rb +2 -1
- data/spec/integration/eventmachine/tx_rollback_spec.rb +1 -1
- data/spec/regression/bad_frame_slicing_in_adapters_spec.rb +2 -0
- data/spec/spec_helper.rb +10 -0
- data/spec/unit/client/settings_spec.rb +92 -3
- metadata +24 -23
- data/CONTRIBUTORS +0 -3
data/.rspec
CHANGED
data/.travis.yml
CHANGED
@@ -1,14 +1,20 @@
|
|
1
|
+
# https://github.com/travis-ci/travis-ci/wiki/.travis.yml-options
|
1
2
|
bundler_args: --without development
|
2
3
|
script: "bundle exec rspec spec"
|
3
4
|
before_script: ./bin/ci/before_build.sh
|
4
5
|
rvm:
|
5
6
|
- 1.8.7
|
6
|
-
- 1.8.7-
|
7
|
+
- 1.8.7-p249
|
7
8
|
- ree
|
8
|
-
- rbx
|
9
|
+
- rbx-2.0
|
9
10
|
- 1.9.2
|
10
|
-
- jruby
|
11
11
|
- ruby-head
|
12
|
+
- jruby
|
12
13
|
gemfile:
|
13
14
|
- Gemfile
|
14
15
|
- gemfiles/eventmachine-pre
|
16
|
+
notifications:
|
17
|
+
recipients:
|
18
|
+
- jakub@rabbitmq.com
|
19
|
+
- michaelklishin@me.com
|
20
|
+
- markizko@gmail.com
|
data/Gemfile
CHANGED
@@ -4,20 +4,26 @@ source :rubygems
|
|
4
4
|
|
5
5
|
# Use local clones if possible.
|
6
6
|
# If you want to use your local copy, just symlink it to vendor.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
# See http://blog.101ideas.cz/posts/custom-gems-in-gemfile.html
|
8
|
+
extend Module.new {
|
9
|
+
def gem(name, *args)
|
10
|
+
options = args.last.is_a?(Hash) ? args.last : Hash.new
|
11
|
+
|
12
|
+
local_path = File.expand_path("../vendor/#{name}", __FILE__)
|
13
|
+
if File.exist?(local_path)
|
14
|
+
super name, options.merge(:path => local_path).
|
15
|
+
delete_if { |key, _| [:git, :branch].include?(key) }
|
16
|
+
else
|
17
|
+
super name, *args
|
18
|
+
end
|
13
19
|
end
|
14
|
-
|
20
|
+
}
|
15
21
|
|
16
|
-
|
22
|
+
gem "eventmachine"
|
17
23
|
# cool.io uses iobuffer that won't compile on JRuby
|
18
24
|
# (and, probably, Windows)
|
19
25
|
gem "cool.io", :platform => :ruby
|
20
|
-
|
26
|
+
gem "amq-protocol", :git => "git://github.com/ruby-amqp/amq-protocol.git", :branch => "master"
|
21
27
|
|
22
28
|
group :development do
|
23
29
|
gem "yard"
|
@@ -25,8 +31,6 @@ group :development do
|
|
25
31
|
gem "RedCloth", :platform => :mri
|
26
32
|
|
27
33
|
gem "nake", :platform => :ruby_19
|
28
|
-
gem "contributors", :platform => :ruby_19
|
29
|
-
|
30
34
|
# excludes Windows and JRuby
|
31
35
|
gem "perftools.rb", :platform => :mri
|
32
36
|
end
|
@@ -34,5 +38,11 @@ end
|
|
34
38
|
group :test do
|
35
39
|
gem "rspec", ">=2.0.0"
|
36
40
|
gem "autotest"
|
37
|
-
|
41
|
+
gem "evented-spec", :git => "git://github.com/ruby-amqp/evented-spec.git", :branch => "master"
|
42
|
+
gem "effin_utf8"
|
43
|
+
|
44
|
+
gem "multi_json"
|
45
|
+
|
46
|
+
gem "json", :platform => :jruby
|
47
|
+
gem "yajl-ruby", :platform => :ruby_18
|
38
48
|
end
|
data/amq-client.gemspec
CHANGED
@@ -18,10 +18,10 @@ amq_client_example "Acknowledge a message using basic.ack" do |client|
|
|
18
18
|
end
|
19
19
|
|
20
20
|
queue.consume do |consumer_tag|
|
21
|
-
queue.on_delivery do |
|
22
|
-
puts "Got a delivery: #{payload} (delivery tag: #{
|
21
|
+
queue.on_delivery do |basic_deliver, header, payload|
|
22
|
+
puts "Got a delivery: #{payload} (delivery tag: #{basic_deliver.delivery_tag}), ack-ing..."
|
23
23
|
|
24
|
-
queue.acknowledge(
|
24
|
+
queue.acknowledge(basic_deliver.delivery_tag)
|
25
25
|
end
|
26
26
|
|
27
27
|
exchange = AMQ::Client::Exchange.new(client, channel, "amq.fanout", :fanout)
|
@@ -2,21 +2,17 @@
|
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
__dir = File.join(File.dirname(File.expand_path(__FILE__)))
|
5
|
-
require File.join(__dir, "example_helper")
|
5
|
+
require File.join(__dir, "..", "example_helper")
|
6
6
|
|
7
7
|
EM.run do
|
8
8
|
|
9
|
-
show_stopper = Proc.new {
|
10
|
-
EM.stop
|
11
|
-
}
|
12
|
-
|
13
|
-
Signal.trap "INT", show_stopper
|
9
|
+
show_stopper = Proc.new { EventMachine.stop }
|
14
10
|
Signal.trap "TERM", show_stopper
|
15
|
-
|
16
11
|
EM.add_timer(4, show_stopper)
|
17
12
|
|
13
|
+
|
18
14
|
AMQ::Client::EventMachineClient.connect(:port => 9689,
|
19
|
-
:vhost => "
|
15
|
+
:vhost => "amq_client_testbed",
|
20
16
|
:user => "amq_client_gem",
|
21
17
|
:password => "amq_client_gem_password",
|
22
18
|
:timeout => 0.3,
|
@@ -2,22 +2,18 @@
|
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
__dir = File.join(File.dirname(File.expand_path(__FILE__)))
|
5
|
-
require File.join(__dir, "example_helper")
|
5
|
+
require File.join(__dir, "..", "example_helper")
|
6
6
|
|
7
7
|
begin
|
8
8
|
EventMachine.run do
|
9
9
|
|
10
|
-
show_stopper = Proc.new {
|
11
|
-
EM.stop
|
12
|
-
}
|
13
|
-
|
14
|
-
Signal.trap "INT", show_stopper
|
10
|
+
show_stopper = Proc.new { EventMachine.stop }
|
15
11
|
Signal.trap "TERM", show_stopper
|
16
|
-
|
17
12
|
EventMachine.add_timer(4, show_stopper)
|
18
13
|
|
14
|
+
|
19
15
|
AMQ::Client::EventMachineClient.connect(:port => 9689,
|
20
|
-
:vhost => "
|
16
|
+
:vhost => "amq_client_testbed",
|
21
17
|
:user => "amq_client_gem",
|
22
18
|
:password => "amq_client_gem_password",
|
23
19
|
:timeout => 0.3) do |client|
|
@@ -27,4 +23,4 @@ begin
|
|
27
23
|
rescue AMQ::Client::TCPConnectionFailed => e
|
28
24
|
puts "TCP connection has failed, as expected. Shutting down…"
|
29
25
|
EventMachine.stop if EventMachine.reactor_running?
|
30
|
-
end
|
26
|
+
end
|
@@ -2,32 +2,32 @@
|
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
__dir = File.join(File.dirname(File.expand_path(__FILE__)))
|
5
|
-
require File.join(__dir, "example_helper")
|
5
|
+
require File.join(__dir, "..", "example_helper")
|
6
6
|
|
7
7
|
|
8
8
|
EM.run do
|
9
9
|
AMQ::Client::EventMachineClient.connect(:port => 5672,
|
10
|
-
:vhost => "
|
10
|
+
:vhost => "amq_client_testbed",
|
11
11
|
:user => "amq_client_gem",
|
12
12
|
:password => "amq_client_gem_password",
|
13
13
|
:timeout => 0.3,
|
14
|
-
:on_tcp_connection_failure => Proc.new { |settings| puts "Failed to connect, this was NOT expected"; EM.stop }) do |
|
14
|
+
:on_tcp_connection_failure => Proc.new { |settings| puts "Failed to connect, this was NOT expected"; EM.stop }) do |connection|
|
15
15
|
|
16
|
-
|
17
|
-
puts "
|
18
|
-
|
16
|
+
connection.on_tcp_connection_loss do |conn, settings|
|
17
|
+
puts "Trying to reconnect..."
|
18
|
+
conn.reconnect_to(:host => "dev.rabbitmq.com")
|
19
|
+
end
|
20
|
+
|
21
|
+
connection.on_recovery do |conn, settings|
|
22
|
+
puts "Connection recovered"
|
19
23
|
end
|
20
24
|
|
21
25
|
show_stopper = Proc.new {
|
22
|
-
|
23
|
-
puts "Disconnected. Exiting…"
|
24
|
-
EM.stop
|
25
|
-
}
|
26
|
+
connection.disconnect { puts "Disconnected. Exiting…"; EventMachine.stop }
|
26
27
|
}
|
27
28
|
|
28
|
-
Signal.trap "INT", show_stopper
|
29
29
|
Signal.trap "TERM", show_stopper
|
30
|
-
|
30
|
+
Signal.trap "INT", show_stopper
|
31
31
|
EM.add_timer(30, show_stopper)
|
32
32
|
|
33
33
|
|
data/examples/eventmachine_adapter/error_handling/connection_loss_handler_with_automatic_recovery.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
__dir = File.join(File.dirname(File.expand_path(__FILE__)))
|
5
|
+
require File.join(__dir, "..", "example_helper")
|
6
|
+
|
7
|
+
|
8
|
+
EM.run do
|
9
|
+
AMQ::Client::EventMachineClient.connect(:port => 5672,
|
10
|
+
:vhost => "amq_client_testbed",
|
11
|
+
:user => "amq_client_gem",
|
12
|
+
:password => "amq_client_gem_password",
|
13
|
+
:timeout => 0.3,
|
14
|
+
:on_tcp_connection_failure => Proc.new { |settings| puts "Failed to connect, this was NOT expected"; EM.stop }) do |connection|
|
15
|
+
|
16
|
+
if connection.auto_recovering?
|
17
|
+
puts "Connection is auto-recovering..."
|
18
|
+
end
|
19
|
+
|
20
|
+
ch1 = AMQ::Client::Channel.new(connection, 1, :auto_recovery => true)
|
21
|
+
ch1.on_error do |ch, channel_close|
|
22
|
+
raise channel_close.reply_text
|
23
|
+
end
|
24
|
+
ch1.open do
|
25
|
+
puts "Channel 1 open now"
|
26
|
+
end
|
27
|
+
if ch1.auto_recovering?
|
28
|
+
puts "Channel 1 is auto-recovering"
|
29
|
+
end
|
30
|
+
ch1.on_recovery do |c|
|
31
|
+
puts "Channel #{c.id} has recovered"
|
32
|
+
end
|
33
|
+
|
34
|
+
ch2 = AMQ::Client::Channel.new(connection, 2, :auto_recovery => true)
|
35
|
+
ch2.on_error do |ch, channel_close|
|
36
|
+
raise channel_close.reply_text
|
37
|
+
end
|
38
|
+
ch2.open do
|
39
|
+
puts "Channel 2 open now"
|
40
|
+
end
|
41
|
+
if ch2.auto_recovering?
|
42
|
+
puts "Channel 2 is auto-recovering"
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
queues = Array.new(4) do
|
47
|
+
q = AMQ::Client::Queue.new(connection, ch1, AMQ::Protocol::EMPTY_STRING)
|
48
|
+
q.declare(false, false, false, true) do
|
49
|
+
q.consume { puts "Added a consumer on #{q.name}"; q.on_delivery { |*args| puts(args.inspect) } }
|
50
|
+
end
|
51
|
+
|
52
|
+
q.on_recovery { |_| puts "Queue #{q.name} has recovered" }
|
53
|
+
|
54
|
+
q
|
55
|
+
end
|
56
|
+
|
57
|
+
x = AMQ::Client::Exchange.new(connection, ch1, "amqclient.examples.exchanges.fanout", :fanout)
|
58
|
+
x2 = AMQ::Client::Exchange.new(connection, ch1, "amq.fanout", :fanout)
|
59
|
+
x.declare(false, false, true)
|
60
|
+
x.after_connection_interruption { |x| puts "Exchange #{x.name} has reacted to connection interruption" }
|
61
|
+
x.after_recovery { |x| puts "Exchange #{x.name} has recovered" }
|
62
|
+
queues.each { |q| q.bind(x) }
|
63
|
+
|
64
|
+
|
65
|
+
connection.on_tcp_connection_loss do |conn, settings|
|
66
|
+
puts "Trying to reconnect..."
|
67
|
+
conn.reconnect(false, 2)
|
68
|
+
end
|
69
|
+
|
70
|
+
connection.on_recovery do |conn, settings|
|
71
|
+
puts "Connection recovered"
|
72
|
+
end
|
73
|
+
|
74
|
+
show_stopper = Proc.new {
|
75
|
+
connection.disconnect { puts "Disconnected. Exiting…"; EventMachine.stop }
|
76
|
+
}
|
77
|
+
|
78
|
+
Signal.trap "TERM", show_stopper
|
79
|
+
Signal.trap "INT", show_stopper
|
80
|
+
EM.add_timer(30, show_stopper)
|
81
|
+
|
82
|
+
|
83
|
+
puts "Connected, authenticated. To really exercise this example, shut AMQP broker down for a few seconds. If you don't it will exit gracefully in 30 seconds."
|
84
|
+
end
|
85
|
+
end
|
data/examples/eventmachine_adapter/error_handling/connection_loss_handler_with_manual_recovery.rb
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
__dir = File.join(File.dirname(File.expand_path(__FILE__)))
|
5
|
+
require File.join(__dir, "..", "example_helper")
|
6
|
+
|
7
|
+
|
8
|
+
EM.run do
|
9
|
+
AMQ::Client::EventMachineClient.connect(:port => 5672,
|
10
|
+
:vhost => "amq_client_testbed",
|
11
|
+
:user => "amq_client_gem",
|
12
|
+
:password => "amq_client_gem_password",
|
13
|
+
:timeout => 0.3,
|
14
|
+
:on_tcp_connection_failure => Proc.new { |settings| puts "Failed to connect, this was NOT expected"; EM.stop }) do |connection|
|
15
|
+
|
16
|
+
if connection.auto_recovering?
|
17
|
+
puts "Connection is auto-recovering..."
|
18
|
+
end
|
19
|
+
|
20
|
+
ch1 = AMQ::Client::Channel.new(connection, 1)
|
21
|
+
ch1.on_error do |ch, channel_close|
|
22
|
+
raise channel_close.reply_text
|
23
|
+
end
|
24
|
+
ch1.open do
|
25
|
+
puts "Channel 1 open now"
|
26
|
+
end
|
27
|
+
if ch1.auto_recovering?
|
28
|
+
puts "Channel 1 is auto-recovering"
|
29
|
+
end
|
30
|
+
ch1.on_recovery do |c|
|
31
|
+
puts "Channel #{c.id} has recovered"
|
32
|
+
end
|
33
|
+
|
34
|
+
ch2 = AMQ::Client::Channel.new(connection, 2)
|
35
|
+
ch2.on_error do |ch, channel_close|
|
36
|
+
raise channel_close.reply_text
|
37
|
+
end
|
38
|
+
ch2.open do
|
39
|
+
puts "Channel 2 open now"
|
40
|
+
end
|
41
|
+
if ch2.auto_recovering?
|
42
|
+
puts "Channel 2 is auto-recovering"
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
queues = Array.new(4) do
|
47
|
+
q = AMQ::Client::Queue.new(connection, ch1, AMQ::Protocol::EMPTY_STRING)
|
48
|
+
q.declare(false, false, false, true) do
|
49
|
+
q.consume { puts "Added a consumer on #{q.name}"; q.on_delivery { |*args| puts(args.inspect) } }
|
50
|
+
end
|
51
|
+
|
52
|
+
q.on_recovery { |_| puts "Queue #{q.name} has recovered" }
|
53
|
+
|
54
|
+
q
|
55
|
+
end
|
56
|
+
|
57
|
+
x = AMQ::Client::Exchange.new(connection, ch1, "amqclient.examples.exchanges.fanout", :fanout)
|
58
|
+
x2 = AMQ::Client::Exchange.new(connection, ch1, "amq.fanout", :fanout)
|
59
|
+
x.declare(false, false, true)
|
60
|
+
x.after_connection_interruption { |x| puts "Exchange #{x.name} has reacted to connection interruption" }
|
61
|
+
x.after_recovery { |x| puts "Exchange #{x.name} has recovered" }
|
62
|
+
queues.each { |q| q.bind(x) }
|
63
|
+
|
64
|
+
|
65
|
+
connection.on_tcp_connection_loss do |conn, settings|
|
66
|
+
puts "Trying to reconnect..."
|
67
|
+
conn.reconnect(false, 2)
|
68
|
+
end
|
69
|
+
|
70
|
+
connection.on_recovery do |conn, settings|
|
71
|
+
puts "Connection recovered"
|
72
|
+
end
|
73
|
+
|
74
|
+
show_stopper = Proc.new {
|
75
|
+
connection.disconnect { puts "Disconnected. Exiting…"; EventMachine.stop }
|
76
|
+
}
|
77
|
+
|
78
|
+
Signal.trap "TERM", show_stopper
|
79
|
+
Signal.trap "INT", show_stopper
|
80
|
+
EM.add_timer(30, show_stopper)
|
81
|
+
|
82
|
+
|
83
|
+
puts "Connected, authenticated. To really exercise this example, shut AMQP broker down for a few seconds. If you don't it will exit gracefully in 30 seconds."
|
84
|
+
end
|
85
|
+
end
|
@@ -4,7 +4,7 @@
|
|
4
4
|
__dir = File.dirname(File.expand_path(__FILE__))
|
5
5
|
require File.join(__dir, "..", "example_helper")
|
6
6
|
|
7
|
-
amq_client_example "
|
7
|
+
amq_client_example "Handling a channel-level exception" do |connection|
|
8
8
|
channel = AMQ::Client::Channel.new(connection, 1)
|
9
9
|
channel.open do
|
10
10
|
puts "Channel #{channel.id} is now open!"
|
@@ -30,10 +30,7 @@ amq_client_example "Declare a new fanout exchange" do |connection|
|
|
30
30
|
|
31
31
|
show_stopper = Proc.new do
|
32
32
|
$stdout.puts "Stopping..."
|
33
|
-
|
34
|
-
connection.close {
|
35
|
-
EM.stop { exit }
|
36
|
-
}
|
33
|
+
connection.close { EventMachine.stop }
|
37
34
|
end
|
38
35
|
|
39
36
|
Signal.trap "INT", show_stopper
|
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
__dir = File.dirname(File.expand_path(__FILE__))
|
5
|
+
require File.join(__dir, "example_helper")
|
6
|
+
|
7
|
+
amq_client_example "Inspecting server information & capabilities" do |client|
|
8
|
+
puts client.server_capabilities.inspect
|
9
|
+
puts client.server_properties.inspect
|
10
|
+
|
11
|
+
client.disconnect { EventMachine.stop }
|
12
|
+
end
|
@@ -10,7 +10,7 @@ client_private_key_file_path = File.join(examples_dir, "tls_certificates", "clie
|
|
10
10
|
|
11
11
|
EM.run do
|
12
12
|
AMQ::Client::EventMachineClient.connect(:port => 5671,
|
13
|
-
:vhost => "
|
13
|
+
:vhost => "amq_client_testbed",
|
14
14
|
:user => "amq_client_gem",
|
15
15
|
:password => "amq_client_gem_password",
|
16
16
|
:ssl => {
|
@@ -33,4 +33,4 @@ EM.run do
|
|
33
33
|
# TLS connections take forever and a day
|
34
34
|
# (compared to non-TLS connections) to estabilish.
|
35
35
|
EM.add_timer(8, show_stopper)
|
36
|
-
end
|
36
|
+
end
|