diff options
Diffstat (limited to 'deps/rabbitmq_stomp/examples/ruby')
13 files changed, 143 insertions, 0 deletions
diff --git a/deps/rabbitmq_stomp/examples/ruby/amq-sender.rb b/deps/rabbitmq_stomp/examples/ruby/amq-sender.rb new file mode 100644 index 0000000000..baaab5628c --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/amq-sender.rb @@ -0,0 +1,10 @@ +require 'rubygems' +require 'stomp' + +client = Stomp::Client.new("guest", "guest", "localhost", 61613) + +# This publishes a message to a queue named 'amq-test' which is managed by AMQP broker. +client.publish("/amq/queue/amq-test", "test-message") + +# close this connection +client.close diff --git a/deps/rabbitmq_stomp/examples/ruby/cb-receiver.rb b/deps/rabbitmq_stomp/examples/ruby/cb-receiver.rb new file mode 100644 index 0000000000..4e6e26141a --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/cb-receiver.rb @@ -0,0 +1,8 @@ +require 'rubygems' +require 'stomp' + +conn = Stomp::Connection.open('guest', 'guest', 'localhost') +conn.subscribe('/queue/carl') +while mesg = conn.receive + puts mesg.body +end diff --git a/deps/rabbitmq_stomp/examples/ruby/cb-sender.rb b/deps/rabbitmq_stomp/examples/ruby/cb-sender.rb new file mode 100644 index 0000000000..3d7594681f --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/cb-sender.rb @@ -0,0 +1,6 @@ +require 'rubygems' +require 'stomp' + +client = Stomp::Client.new("guest", "guest", "localhost", 61613) +10000.times { |i| client.publish '/queue/carl', "Test Message number #{i}"} +client.publish '/queue/carl', "All Done!" diff --git a/deps/rabbitmq_stomp/examples/ruby/cb-slow-receiver.rb b/deps/rabbitmq_stomp/examples/ruby/cb-slow-receiver.rb new file mode 100644 index 0000000000..d98e5f8170 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/cb-slow-receiver.rb @@ -0,0 +1,13 @@ +require 'rubygems' +require 'stomp' + +# Note: requires support for connect_headers hash in the STOMP gem's connection.rb +conn = Stomp::Connection.open('guest', 'guest', 'localhost', 61613, false, 5, {:prefetch => 1}) +conn.subscribe('/queue/carl', {:ack => 'client'}) +while mesg = conn.receive + puts mesg.body + puts 'Sleeping...' + sleep 0.2 + puts 'Awake again. Acking.' + conn.ack mesg.headers['message-id'] +end diff --git a/deps/rabbitmq_stomp/examples/ruby/exchange-receiver.rb b/deps/rabbitmq_stomp/examples/ruby/exchange-receiver.rb new file mode 100644 index 0000000000..76bf4a5c9d --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/exchange-receiver.rb @@ -0,0 +1,15 @@ +require 'rubygems' +require 'stomp' + +conn = Stomp::Connection.open("guest", "guest", "localhost") +conn.subscribe '/exchange/amq.fanout/test' + +puts "Waiting for messages..." + +begin + while mesg = conn.receive + puts mesg.body + end +rescue Exception => _ + conn.disconnect +end diff --git a/deps/rabbitmq_stomp/examples/ruby/exchange-sender.rb b/deps/rabbitmq_stomp/examples/ruby/exchange-sender.rb new file mode 100644 index 0000000000..ed556eacae --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/exchange-sender.rb @@ -0,0 +1,12 @@ +require 'rubygems' +require 'stomp' + +client = Stomp::Client.new("guest", "guest", "localhost", 61613) + +# This publishes a message to the 'amq.fanout' exchange which is managed by +# AMQP broker and specifies routing-key of 'test'. You can get other exchanges +# through 'list_exchanges' subcommand of 'rabbitmqctl' utility. +client.publish("/exchange/amq.fanout/test", "test message") + +# close this connection +client.close diff --git a/deps/rabbitmq_stomp/examples/ruby/persistent-receiver.rb b/deps/rabbitmq_stomp/examples/ruby/persistent-receiver.rb new file mode 100644 index 0000000000..5a83df6fb0 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/persistent-receiver.rb @@ -0,0 +1,11 @@ +require 'rubygems' +require 'stomp' + +conn = Stomp::Connection.open('guest', 'guest', 'localhost') +conn.subscribe('/queue/durable', :'auto-delete' => false, :durable => true) + +puts "Waiting for messages..." + +while mesg = conn.receive + puts mesg.body +end diff --git a/deps/rabbitmq_stomp/examples/ruby/persistent-sender.rb b/deps/rabbitmq_stomp/examples/ruby/persistent-sender.rb new file mode 100644 index 0000000000..1be32d6c76 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/persistent-sender.rb @@ -0,0 +1,13 @@ +require 'rubygems' +require 'stomp' + +# Use this case to test durable queues +# +# Start the sender - 11 messages will be sent to /queue/durable and the sender exits +# Stop the server - 11 messages will be written to disk +# Start the server +# Start the receiver - 11 messages should be received and the receiver - interrupt the receive loop + +client = Stomp::Client.new("guest", "guest", "localhost", 61613) +10.times { |i| client.publish '/queue/durable', "Test Message number #{i} sent at #{Time.now}", 'delivery-mode' => '2'} +client.publish '/queue/durable', "All Done!" diff --git a/deps/rabbitmq_stomp/examples/ruby/temp-queue-client.rb b/deps/rabbitmq_stomp/examples/ruby/temp-queue-client.rb new file mode 100644 index 0000000000..39828708e8 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/temp-queue-client.rb @@ -0,0 +1,9 @@ +require 'rubygems' +require 'stomp' + +conn = Stomp::Connection.open("guest", "guest", "localhost") +conn.publish("/queue/rpc-service", "test message", { + 'reply-to' => '/temp-queue/test' +}) +puts conn.receive.body +conn.disconnect diff --git a/deps/rabbitmq_stomp/examples/ruby/temp-queue-service.rb b/deps/rabbitmq_stomp/examples/ruby/temp-queue-service.rb new file mode 100644 index 0000000000..fea4fa7803 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/temp-queue-service.rb @@ -0,0 +1,15 @@ +require 'rubygems' +require 'stomp' + +conn = Stomp::Connection.open("guest", "guest", "localhost") +conn.subscribe '/queue/rpc-service' + +begin + while mesg = conn.receive + puts "received message and replies to #{mesg.headers['reply-to']}" + + conn.publish(mesg.headers['reply-to'], '(reply) ' + mesg.body) + end +rescue Exception => _ + conn.disconnect +end diff --git a/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-receiver.rb b/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-receiver.rb new file mode 100644 index 0000000000..b338e53c34 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-receiver.rb @@ -0,0 +1,11 @@ +require 'rubygems' +require 'stomp' + +topic = ARGV[0] || 'x' +puts "Binding to /topic/#{topic}" + +conn = Stomp::Connection.open('guest', 'guest', 'localhost') +conn.subscribe("/topic/#{topic}") +while mesg = conn.receive + puts mesg.body +end diff --git a/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-with-unsubscribe.rb b/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-with-unsubscribe.rb new file mode 100644 index 0000000000..19f05ee9d2 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/topic-broadcast-with-unsubscribe.rb @@ -0,0 +1,13 @@ +require 'rubygems' +require 'stomp' # this is a gem + +conn = Stomp::Connection.open('guest', 'guest', 'localhost') +puts "Subscribing to /topic/x" +conn.subscribe('/topic/x') +puts 'Receiving...' +mesg = conn.receive +puts mesg.body +puts "Unsubscribing from /topic/x" +conn.unsubscribe('/topic/x') +puts 'Sleeping 5 seconds...' +sleep 5 diff --git a/deps/rabbitmq_stomp/examples/ruby/topic-sender.rb b/deps/rabbitmq_stomp/examples/ruby/topic-sender.rb new file mode 100644 index 0000000000..b0861f9542 --- /dev/null +++ b/deps/rabbitmq_stomp/examples/ruby/topic-sender.rb @@ -0,0 +1,7 @@ +require 'rubygems' +require 'stomp' + +client = Stomp::Client.new("guest", "guest", "localhost", 61613) +client.publish '/topic/x.y', 'first message' +client.publish '/topic/x.z', 'second message' +client.publish '/topic/x', 'third message' |