summaryrefslogtreecommitdiff
path: root/deps/rabbitmq_stomp/examples
diff options
context:
space:
mode:
Diffstat (limited to 'deps/rabbitmq_stomp/examples')
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_recv.pl13
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_client.pl14
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_service.pl21
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send.pl9
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send_many.pl11
-rwxr-xr-xdeps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_slow_recv.pl14
-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
19 files changed, 225 insertions, 0 deletions
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_recv.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_recv.pl
new file mode 100755
index 0000000000..7b8b9cce0c
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_recv.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl -w
+# subscribe to messages from the queue 'foo'
+use Net::Stomp;
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest'});
+$stomp->subscribe({'destination'=>'/queue/foo', 'ack'=>'client'});
+while (1) {
+ my $frame = $stomp->receive_frame;
+ print $frame->body . "\n";
+ $stomp->ack({frame=>$frame});
+ last if $frame->body eq 'QUIT';
+}
+$stomp->disconnect;
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_client.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_client.pl
new file mode 100755
index 0000000000..b3e5ee6fd3
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_client.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/perl -w
+
+use Net::Stomp;
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest'});
+
+my $private_q_name = "/temp-queue/test";
+
+$stomp->send({destination => '/queue/rabbitmq_stomp_rpc_service',
+ 'reply-to' => $private_q_name,
+ body => "request from $private_q_name"});
+print "Reply: " . $stomp->receive_frame->body . "\n";
+
+$stomp->disconnect;
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_service.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_service.pl
new file mode 100755
index 0000000000..31e79aea4a
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_rpc_service.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/perl -w
+
+use Net::Stomp;
+
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest'});
+
+$stomp->subscribe({'destination'=>'/queue/rabbitmq_stomp_rpc_service', 'ack'=>'client'});
+while (1) {
+ print "Waiting for request...\n";
+ my $frame = $stomp->receive_frame;
+ print "Received message, reply_to = " . $frame->headers->{"reply-to"} . "\n";
+ print $frame->body . "\n";
+
+ $stomp->send({destination => $frame->headers->{"reply-to"}, bytes_message => 1,
+ body => "Got body: " . $frame->body});
+ $stomp->ack({frame=>$frame});
+ last if $frame->body eq 'QUIT';
+}
+
+$stomp->disconnect;
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send.pl
new file mode 100755
index 0000000000..4d26b7837e
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send.pl
@@ -0,0 +1,9 @@
+#!/usr/bin/perl -w
+# send a message to the queue 'foo'
+use Net::Stomp;
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest'});
+$stomp->send({destination=>'/exchange/amq.fanout',
+ bytes_message=>1,
+ body=>($ARGV[0] or "test\0message")});
+$stomp->disconnect;
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send_many.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send_many.pl
new file mode 100755
index 0000000000..f6ff54ed95
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_send_many.pl
@@ -0,0 +1,11 @@
+#!/usr/bin/perl -w
+# send a message to the queue 'foo'
+use Net::Stomp;
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest'});
+for (my $i = 0; $i < 10000; $i++) {
+ $stomp->send({destination=>'/queue/foo',
+ bytes_message=>1,
+ body=>($ARGV[0] or "message $i")});
+}
+$stomp->disconnect;
diff --git a/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_slow_recv.pl b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_slow_recv.pl
new file mode 100755
index 0000000000..043568f348
--- /dev/null
+++ b/deps/rabbitmq_stomp/examples/perl/rabbitmq_stomp_slow_recv.pl
@@ -0,0 +1,14 @@
+#!/usr/bin/perl -w
+# subscribe to messages from the queue 'foo'
+use Net::Stomp;
+my $stomp = Net::Stomp->new({hostname=>'localhost', port=>'61613'});
+$stomp->connect({login=>'guest', passcode=>'guest', prefetch=>1});
+$stomp->subscribe({'destination'=>'/queue/foo', 'ack'=>'client'});
+while (1) {
+ my $frame = $stomp->receive_frame;
+ print $frame->body . "\n";
+ sleep 1;
+ $stomp->ack({frame=>$frame});
+ last if $frame->body eq 'QUIT';
+}
+$stomp->disconnect;
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'