summaryrefslogtreecommitdiff
path: root/deps/rabbitmq_stomp/examples/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbitmq_stomp/examples/ruby')
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/amq-sender.rb10
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/cb-receiver.rb8
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/cb-sender.rb6
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/cb-slow-receiver.rb13
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/exchange-receiver.rb15
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/exchange-sender.rb12
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/persistent-receiver.rb11
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/persistent-sender.rb13
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/temp-queue-client.rb9
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/temp-queue-service.rb15
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/topic-broadcast-receiver.rb11
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/topic-broadcast-with-unsubscribe.rb13
-rw-r--r--deps/rabbitmq_stomp/examples/ruby/topic-sender.rb7
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'