Sha256: a1beaad4a09c8e223e6cf0a63e244bd79a697b2a1db28e32f5976e661eafc508

Contents?: true

Size: 1.47 KB

Versions: 13

Compression:

Stored size: 1.47 KB

Contents

# Allow examples to be run in-place without requiring a gem install
$LOAD_PATH.unshift File.dirname(__FILE__) + '/../../lib'

require 'rubygems'
require 'erb'
require 'modern_times'
require 'yaml'

if ARGV.size < 1
  $stderr.puts "Usage: {$0} <string> [<timeout>] [<sleep>]"
  exit 1
end

string     =  ARGV[0]
timeout    = (ARGV[1] || 4).to_f
sleep_time = (ARGV[2] || 2).to_f

config = YAML.load(ERB.new(File.read(File.join(File.dirname(__FILE__), '..', 'jms.yml'))).result(binding))
ModernTimes::JMS::Connection.init(config)
publisher = ModernTimes::JMS::Publisher.new(:virtual_topic_name => 'test_string', :response => true, :marshal => :string)
handle = publisher.publish(string)
sleep sleep_time

handle.read_response(timeout) do |response|
  response.on_message 'CharCount' do |hash|
    puts "CharCount returned #{hash.inspect}"
  end
  response.on_message 'Length', 'Reverse', 'Triple' do |val|
    puts "#{response.name} returned #{val}"
  end
  response.on_message 'ExceptionRaiser' do |val|
    puts "#{response.name} didn't raise an exception, returned \"#{val}\""
  end
  response.on_timeout 'Reverse' do
    puts "Reverse has it's own timeout handler"
  end
  response.on_timeout do
    puts "#{response.name} did not respond in time"
  end
  response.on_remote_exception 'ExceptionRaiser' do |e|
    puts "It figures that ExceptionRaiser would raise an exception: #{e.message}"
  end
  response.on_remote_exception do |e|
    puts "#{response.name} raised an exception: #{e.message}"
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
modern_times-0.3.12 examples/advanced_requestor/publish.rb
modern_times-0.3.11 examples/advanced_requestor/publish.rb
modern_times-0.3.10 examples/advanced_requestor/publish.rb
modern_times-0.3.9 examples/advanced_requestor/publish.rb
modern_times-0.3.8 examples/advanced_requestor/publish.rb
modern_times-0.3.7 examples/advanced_requestor/publish.rb
modern_times-0.3.6 examples/advanced_requestor/publish.rb
modern_times-0.3.5 examples/advanced_requestor/publish.rb
modern_times-0.3.4 examples/advanced_requestor/publish.rb
modern_times-0.3.3 examples/advanced_requestor/publish.rb
modern_times-0.3.2 examples/advanced_requestor/publish.rb
modern_times-0.3.1 examples/advanced_requestor/publish.rb
modern_times-0.3.0 examples/advanced_requestor/publish.rb