Skip to content

Commit

Permalink
- Fixed a small issue with tx test.
Browse files Browse the repository at this point in the history
- Connection can be set to be reliable so that on socket failure, the client does not see error, but silently 
  goes into a reconnect loop.
- Added some simple little utilities called catstomp and stompcat and act a little like netcat, but for stomp.



git-svn-id: http://svn.codehaus.org/stomp/trunk/ruby@30 fd4e7336-3dff-0310-b68a-b6615a75f13b
  • Loading branch information
chirino committed Apr 19, 2006
1 parent aa5d1a3 commit 2557ad1
Show file tree
Hide file tree
Showing 5 changed files with 264 additions and 77 deletions.
54 changes: 54 additions & 0 deletions bin/catstomp
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/ruby
#
# Copyright 2006 LogicBlaze Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require 'stomp'

#
# This simple script is inspired by the netcat utility. It allows you to send
# input into this process to stomp destination.
#
# Usage: catstomp (destination-name)
#
# Example: ls | catstomp /topic/foo
# Would send the output of the ls command to the stomp destination /topic/foo
#
begin

@port = 61613
@host = "localhost"
@user = ENV["STOMP_USER"];
@password = ENV["STOMP_PASSWORD"]

@host = ENV["STOMP_HOST"] if ENV["STOMP_HOST"] != nil
@port = ENV["STOMP_PORT"] if ENV["STOMP_PORT"] != nil

@destination = "/topic/default"
@destination = $*[0] if $*[0] != nil

$stderr.print "Connecting to stomp://#{@host}:#{@port} as #{@user}\n"
@conn = Stomp::Connection.open @user, @password, @host, @port, true
$stderr.print "Sending input to #{@destination}\n"

@headers = {'persistent'=>'false'}
@headers['reply-to'] = $*[1] if $*[1] != nil

STDIN.each_line { |line|
@conn.send @destination, line, @headers
}

rescue
end

55 changes: 55 additions & 0 deletions bin/stompcat
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/usr/bin/ruby
#
# Copyright 2006 LogicBlaze Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require 'stomp'

#
# This simple script is inspired by the netcat utility. It allows you to receive
# data from a stomp destination and output it.
#
# Usage: stompcat (destination-name)
#
# Example: stompcat /topic/foo
# Would display output that arrives at the /topic/foo stomp destination
#
begin

@port = 61613
@host = "localhost"
@user = ENV["STOMP_USER"];
@password = ENV["STOMP_PASSWORD"]

@host = ENV["STOMP_HOST"] if ENV["STOMP_HOST"] != nil
@port = ENV["STOMP_PORT"] if ENV["STOMP_PORT"] != nil

@destination = "/topic/default"
@destination = $*[0] if $*[0] != nil

$stderr.print "Connecting to stomp://#{@host}:#{@port} as #{@user}\n"
@conn = Stomp::Connection.open @user, @password, @host, @port, true
$stderr.print "Getting output from #{@destination}\n"

@conn.subscribe @destination, { :ack =>"client" }
while true
@msg = @conn.receive
$stdout.print @msg.body
$stdout.flush
@conn.ack @msg.headers["message-id"]
end

rescue
end

Loading

0 comments on commit 2557ad1

Please sign in to comment.