modern_times 0.2.11 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/README.rdoc +114 -80
  2. data/VERSION +1 -1
  3. data/examples/advanced_requestor/README +15 -0
  4. data/examples/advanced_requestor/base_request_worker.rb +13 -0
  5. data/examples/advanced_requestor/char_count_worker.rb +11 -0
  6. data/examples/advanced_requestor/exception_raiser_worker.rb +10 -0
  7. data/examples/advanced_requestor/length_worker.rb +9 -0
  8. data/examples/advanced_requestor/manager.rb +22 -0
  9. data/examples/advanced_requestor/modern_times.yml +32 -0
  10. data/examples/advanced_requestor/print_worker.rb +9 -0
  11. data/examples/advanced_requestor/publish.rb +46 -0
  12. data/examples/advanced_requestor/reverse_worker.rb +9 -0
  13. data/examples/advanced_requestor/triple_worker.rb +9 -0
  14. data/examples/requestor/request.rb +3 -3
  15. data/examples/requestor/reverse_echo_worker.rb +1 -2
  16. data/lib/modern_times.rb +1 -1
  17. data/lib/modern_times/base/supervisor.rb +2 -0
  18. data/lib/modern_times/base/worker.rb +5 -3
  19. data/lib/modern_times/jms.rb +2 -0
  20. data/lib/modern_times/jms/connection.rb +7 -0
  21. data/lib/modern_times/jms/publish_handle.rb +219 -0
  22. data/lib/modern_times/jms/publisher.rb +55 -29
  23. data/lib/modern_times/{jms_requestor/worker.rb → jms/request_worker.rb} +29 -51
  24. data/lib/modern_times/jms/supervisor.rb +30 -0
  25. data/lib/modern_times/jms/supervisor_mbean.rb +17 -1
  26. data/lib/modern_times/jms/worker.rb +43 -40
  27. data/lib/modern_times/manager.rb +6 -2
  28. data/lib/modern_times/marshal_strategy.rb +14 -17
  29. data/lib/modern_times/marshal_strategy/bson.rb +2 -0
  30. data/lib/modern_times/marshal_strategy/json.rb +3 -0
  31. data/lib/modern_times/marshal_strategy/ruby.rb +3 -0
  32. data/lib/modern_times/marshal_strategy/string.rb +3 -0
  33. data/lib/modern_times/marshal_strategy/yaml.rb +3 -0
  34. data/lib/modern_times/railsable.rb +7 -14
  35. data/lib/modern_times/time_track.rb +84 -0
  36. data/test/jms.yml +1 -0
  37. data/test/jms_failure_test.rb +128 -0
  38. data/test/jms_requestor_block_test.rb +275 -0
  39. data/test/jms_requestor_test.rb +71 -96
  40. data/test/jms_test.rb +59 -78
  41. data/test/marshal_strategy_test.rb +1 -3
  42. metadata +29 -14
  43. data/examples/exception_test/bar_worker.rb +0 -8
  44. data/examples/exception_test/base_worker.rb +0 -23
  45. data/examples/exception_test/manager.rb +0 -11
  46. data/lib/modern_times/jms_requestor.rb +0 -10
  47. data/lib/modern_times/jms_requestor/request_handle.rb +0 -42
  48. data/lib/modern_times/jms_requestor/requestor.rb +0 -56
  49. data/lib/modern_times/jms_requestor/supervisor.rb +0 -45
  50. data/lib/modern_times/jms_requestor/supervisor_mbean.rb +0 -21
@@ -7,47 +7,30 @@ require 'erb'
7
7
  # NOTE: This test requires a running ActiveMQ server
8
8
 
9
9
  module HashTest
10
- module ModuleMethods
11
- def create_obj(i)
12
- {
13
- 'foo' => 1,
14
- 'bar' => {
15
- 'message' => i,
16
- 'dummy' => "Message #{i}"
17
- },
18
- # Only YAML will maintain symbols
19
- :zulu => :rugger
20
- }
21
- end
22
-
23
- def parse_obj(obj)
24
- obj['answer']
25
- end
10
+ def self.create_obj(i)
11
+ {
12
+ 'foo' => 1,
13
+ 'bar' => {
14
+ 'message' => i,
15
+ 'dummy' => "Message #{i}"
16
+ },
17
+ # Only YAML will maintain symbols
18
+ :zulu => :rugger
19
+ }
26
20
  end
27
21
 
28
- def self.included(base)
29
- base.extend(ModuleMethods)
22
+ def self.parse_obj(obj)
23
+ obj['answer']
30
24
  end
31
25
 
32
- def request(obj)
26
+ def self.request(obj)
33
27
  {
34
28
  'answer' => obj['bar']['message']
35
29
  }
36
30
  end
37
31
  end
38
32
 
39
- module BSONTest
40
- extend ModernTimes::MarshalStrategy::BSON
41
- include HashTest
42
- end
43
-
44
- module JSONTest
45
- extend ModernTimes::MarshalStrategy::JSON
46
- include HashTest
47
- end
48
-
49
33
  module RubyTest
50
- extend ModernTimes::MarshalStrategy::Ruby
51
34
 
52
35
  class MyClass
53
36
  attr_reader :i
@@ -64,14 +47,12 @@ module RubyTest
64
47
  obj.i-10
65
48
  end
66
49
 
67
- def request(obj)
50
+ def self.request(obj)
68
51
  return MyClass.new(obj.i+10)
69
52
  end
70
53
  end
71
54
 
72
55
  module StringTest
73
- extend ModernTimes::MarshalStrategy::String
74
-
75
56
  def self.create_obj(i)
76
57
  "Message #{i}"
77
58
  end
@@ -84,7 +65,7 @@ module StringTest
84
65
  end
85
66
  end
86
67
 
87
- def request(str)
68
+ def self.request(str)
88
69
  if str =~ /^Message (\d+)$/
89
70
  "Returning #{$1}"
90
71
  else
@@ -94,12 +75,17 @@ module StringTest
94
75
  end
95
76
 
96
77
  class DefaultWorker
97
- include ModernTimes::JMSRequestor::Worker
78
+ include ModernTimes::JMS::RequestWorker
79
+ response :marshal => :yaml, :time_to_live => 10000
80
+
81
+ def request(obj)
82
+ options[:tester].request(obj)
83
+ end
98
84
  end
99
85
 
100
86
  class SleepWorker
101
- include ModernTimes::JMSRequestor::Worker
102
- marshal :string
87
+ include ModernTimes::JMS::RequestWorker
88
+ response :marshal => :string, :time_to_live => 10000
103
89
 
104
90
  def request(i)
105
91
  sleep i.to_i
@@ -112,7 +98,7 @@ class JMSRequestorTest < Test::Unit::TestCase
112
98
  @@server = JMX.simple_server
113
99
  @@client = JMX.connect
114
100
 
115
- context 'jms' do
101
+ context 'jms request' do
116
102
  setup do
117
103
  config = YAML.load(ERB.new(File.read(File.join(File.dirname(__FILE__), 'jms.yml'))).result(binding))
118
104
  ModernTimes::JMS::Connection.init(config)
@@ -121,14 +107,17 @@ class JMSRequestorTest < Test::Unit::TestCase
121
107
  teardown do
122
108
  end
123
109
 
124
- #[BSONTest, JSONTest, RubyTest, StringTest].each do |marshal_module|
125
- [BSONTest, JSONTest, StringTest].each do |marshal_module|
126
- marshal_module.name =~ /(.*)Test/
127
- marshal_type = $1
128
-
129
- context "marshaling with #{marshal_type}" do
110
+ {
111
+ :bson => HashTest,
112
+ :json => HashTest,
113
+ :ruby => RubyTest,
114
+ :string => StringTest,
115
+ :yaml => HashTest
116
+ }.each do |marshal, tester|
117
+
118
+ context "marshaling with #{marshal}" do
130
119
  setup do
131
- @domain = "Uniquize_#{marshal_module.name}"
120
+ @domain = "Uniquize_#{marshal}"
132
121
  @manager = ModernTimes::Manager.new(:domain => @domain)
133
122
  end
134
123
 
@@ -140,13 +129,12 @@ class JMSRequestorTest < Test::Unit::TestCase
140
129
  end
141
130
 
142
131
  should "reply correctly with multiple threads" do
143
- DefaultWorker.send(:include, marshal_module)
144
- DefaultWorker.send(:marshal, marshal_module)
145
- @manager.add(DefaultWorker, 10)
132
+ DefaultWorker.response(:marshal => marshal, :time_to_live => 10000)
133
+ @manager.add(DefaultWorker, 10, :tester => tester)
146
134
 
147
135
  sleep 1
148
136
 
149
- requestor = ModernTimes::JMSRequestor::Requestor.new(:queue_name => 'Default', :marshal => marshal_module)
137
+ publisher = ModernTimes::JMS::Publisher.new(:queue_name => 'Default', :marshal => marshal, :response => true)
150
138
  threads = []
151
139
  start = Time.now
152
140
  (0..9).each do |i|
@@ -154,10 +142,11 @@ class JMSRequestorTest < Test::Unit::TestCase
154
142
  start = i*10
155
143
  range = start..(start+9)
156
144
  range.each do |x|
157
- obj = marshal_module.create_obj(x)
158
- handle = requestor.request(obj, 2)
159
- val = marshal_module.parse_obj(handle.read_response)
160
- assert x == val, "#{i} does not equal #{val}"
145
+ obj = tester.create_obj(x)
146
+ handle = publisher.publish(obj)
147
+ reply_obj = handle.read_response(2)
148
+ val = tester.parse_obj(reply_obj)
149
+ assert x == val, "#{x} does not equal #{val}"
161
150
  end
162
151
  end
163
152
  end
@@ -172,7 +161,7 @@ class JMSRequestorTest < Test::Unit::TestCase
172
161
  @manager = ModernTimes::Manager.new(:domain => @domain)
173
162
  @manager.add(SleepWorker, 10)
174
163
  sleep 1
175
- @requestor = ModernTimes::JMSRequestor::Requestor.new(:queue_name => 'Sleep', :marshal => :string)
164
+ @publisher = ModernTimes::JMS::Publisher.new(:queue_name => 'Sleep', :marshal => :string, :response => true)
176
165
  end
177
166
 
178
167
  teardown do
@@ -183,21 +172,19 @@ class JMSRequestorTest < Test::Unit::TestCase
183
172
  end
184
173
 
185
174
  should "work correctly if request is complete before the timeout" do
186
- [[1,0,2,0.8,1.2], [2,1,3,1.6,2.4], [1,2,3,0,8,1.2], [3,1,2,2.8,3.4]].each do |info|
175
+ [[1,0,2,0.8,1.2], [2,1,3,1.8,2.2], [1,2,3,0.8,1.2], [3,1,2,2.8,3.2]].each do |info|
187
176
  work_sleep_time, publish_sleep_time, timeout_time, min_time, max_time = info
188
177
  threads = []
189
178
  start_time = Time.now
190
179
  (0..9).each do |i|
191
180
  threads << Thread.new(i) do |i|
192
- handle = @requestor.request(work_sleep_time, timeout_time)
181
+ handle = @publisher.publish(work_sleep_time)
193
182
  sleep publish_sleep_time
194
183
  if work_sleep_time < timeout_time
195
- response = handle.read_response.to_i
184
+ response = handle.read_response(timeout_time).to_i
196
185
  assert work_sleep_time == response, "#{work_sleep_time} does not equal #{response}"
197
186
  else
198
- e = assert_raises Timeout::Error do
199
- response = handle.read_response.to_i
200
- end
187
+ assert handle.read_response(timeout_time).nil?
201
188
  actual_time = Time.now - start_time
202
189
  assert timeout_time-0.1 < actual_time, "Bad timeout #{actual_time}"
203
190
  assert timeout_time+0.3 > actual_time, "Bad timeout #{actual_time}"
@@ -215,7 +202,7 @@ class JMSRequestorTest < Test::Unit::TestCase
215
202
  bean_max = bean.max_response_time
216
203
  puts "total=#{total_time} avg=#{bean_avg} min=#{bean_min} max=#{bean_max}"
217
204
  all_times = [bean_avg, bean_min, bean_max]
218
- all_times << total_time if work_sleep_time < timeout_time
205
+ all_times << total_time if work_sleep_time > publish_sleep_time && work_sleep_time < timeout_time
219
206
  all_times.each do |time_val|
220
207
  assert min_time < time_val, "#{time_val} is not between #{min_time} and #{max_time}"
221
208
  assert max_time > time_val, "#{time_val} is not between #{min_time} and #{max_time}"
@@ -224,40 +211,28 @@ class JMSRequestorTest < Test::Unit::TestCase
224
211
  end
225
212
  end
226
213
 
227
- # context 'dummy requesting' do
228
- # setup do
229
- # workers = [
230
- # DefaultWorker,
231
- # Dummy::DefaultWorker,
232
- # SpecifiedQueueWorker,
233
- # SpecifiedQueue2Worker,
234
- # SpecifiedTopicWorker,
235
- # SpecifiedTopic2Worker,
236
- # ]
237
- # workers.each do |worker_klass|
238
- # worker_klass.send(:include, RubyTest)
239
- # end
240
- # ModernTimes::JMS::Publisher.setup_dummy_publishing(workers)
241
- # end
242
- #
243
- # teardown do
244
- # ModernTimes::JMS::Publisher.clear_dummy_publishing
245
- # end
246
- #
247
- # should "directly call applicable workers" do
248
- # publish(RubyTest, 100..199, :queue_name => 'Default')
249
- # publish(RubyTest, 200..299, :queue_name => 'Dummy_Default')
250
- # publish(RubyTest, 300..499, :queue_name => 'MyQueueName')
251
- # publish(RubyTest, 500..599, :virtual_topic_name => 'MyTopicName')
252
- #
253
- # # DefaultWorker should have 5 instances running with each worker handling between 10-30 messages in the range 100.199
254
- # assert_worker(nil, DefaultWorker, nil, 1, 100..199, 100, 100, 1)
255
- # assert_worker(nil, Dummy::DefaultWorker, nil, 1, 200..299, 100, 100, 1)
256
- # assert_worker(nil, SpecifiedQueueWorker, nil, 1, 300..499, 200, 200, 1)
257
- # assert_worker(nil, SpecifiedQueue2Worker, nil, 1, 300..499, 200, 200, 1)
258
- # assert_worker(nil, SpecifiedTopicWorker, nil, 1, 500..599, 100, 100, 1)
259
- # assert_worker(nil, SpecifiedTopic2Worker, nil, 1, 500..599, 100, 100, 1)
260
- # end
261
- # end
214
+ context 'dummy requesting' do
215
+ setup do
216
+ @tester = RubyTest
217
+ workers = [
218
+ DefaultWorker.new(:tester => @tester)
219
+ ]
220
+ ModernTimes::JMS::Publisher.setup_dummy_publishing(workers)
221
+ end
222
+
223
+ teardown do
224
+ ModernTimes::JMS::Publisher.clear_dummy_publishing
225
+ end
226
+
227
+ should "directly call applicable workers" do
228
+ x=9999
229
+ obj = @tester.create_obj(x)
230
+ publisher = ModernTimes::JMS::Publisher.new(:queue_name => 'Default', :marshal => :ruby, :response => true)
231
+ handle = publisher.publish(obj)
232
+ reply_obj = handle.read_response(2)
233
+ val = @tester.parse_obj(reply_obj)
234
+ assert x == val, "#{x} does not equal #{val}"
235
+ end
236
+ end
262
237
  end
263
238
  end
data/test/jms_test.rb CHANGED
@@ -11,6 +11,7 @@ module WorkerHelper
11
11
  @@mutex = Mutex.new
12
12
  def initialize(opts={})
13
13
  super
14
+ @tester = opts[:tester]
14
15
  @@mutex.synchronize do
15
16
  @@workers[self.class.name] ||= []
16
17
  @@workers[self.class.name] << self
@@ -18,6 +19,10 @@ module WorkerHelper
18
19
  @hash = Hash.new(0)
19
20
  end
20
21
 
22
+ def perform(obj)
23
+ add_message(@tester.translate(obj))
24
+ end
25
+
21
26
  def self.workers(worker_klass)
22
27
  @@workers[worker_klass.name]
23
28
  end
@@ -41,42 +46,24 @@ module WorkerHelper
41
46
  end
42
47
 
43
48
  module HashTest
44
- module ModuleMethods
45
- def create_obj(i)
46
- {
47
- 'foo' => 1,
48
- 'bar' => {
49
- 'message' => i,
50
- 'dummy' => "Message #{i}"
51
- },
52
- # Only YAML will maintain symbols
53
- :zulu => :rugger
54
- }
55
- end
56
- end
57
-
58
- def self.included(base)
59
- base.extend(ModuleMethods)
49
+ def self.create_obj(i)
50
+ {
51
+ 'foo' => 1,
52
+ 'bar' => {
53
+ 'message' => i,
54
+ 'dummy' => "Message #{i}"
55
+ },
56
+ # Only YAML will maintain symbols
57
+ :zulu => :rugger
58
+ }
60
59
  end
61
60
 
62
- def perform(obj)
63
- add_message(obj['bar']['message'])
61
+ def self.translate(obj)
62
+ obj['bar']['message']
64
63
  end
65
64
  end
66
65
 
67
- module BSONTest
68
- extend ModernTimes::MarshalStrategy::BSON
69
- include HashTest
70
- end
71
-
72
- module JSONTest
73
- extend ModernTimes::MarshalStrategy::JSON
74
- include HashTest
75
- end
76
-
77
66
  module RubyTest
78
- extend ModernTimes::MarshalStrategy::Ruby
79
-
80
67
  class MyClass
81
68
  attr_reader :i
82
69
  def initialize(i)
@@ -88,21 +75,19 @@ module RubyTest
88
75
  MyClass.new(i)
89
76
  end
90
77
 
91
- def perform(obj)
92
- add_message(obj.i)
78
+ def self.translate(obj)
79
+ obj.i
93
80
  end
94
81
  end
95
82
 
96
83
  module StringTest
97
- extend ModernTimes::MarshalStrategy::String
98
-
99
84
  def self.create_obj(i)
100
85
  "Message #{i}"
101
86
  end
102
87
 
103
- def perform(str)
88
+ def self.translate(str)
104
89
  if str =~ /^Message (\d+)$/
105
- add_message($1.to_i)
90
+ $1.to_i
106
91
  else
107
92
  raise "Unknown message: #{str}"
108
93
  end
@@ -150,11 +135,11 @@ class JMSTest < Test::Unit::TestCase
150
135
  @@server = JMX.simple_server
151
136
  @@client = JMX.connect
152
137
 
153
- def publish(marshal_module, range, options)
154
- publisher = ModernTimes::JMS::Publisher.new(options.merge(:marshal => marshal_module))
155
- puts "Publishing #{range} to #{publisher}"
138
+ def publish(marshal, tester, range, options)
139
+ publisher = ModernTimes::JMS::Publisher.new(options.merge(:marshal => marshal))
140
+ puts "Publishing #{range} to #{publisher} via #{marshal}"
156
141
  range.each do |i|
157
- obj = marshal_module.create_obj(i)
142
+ obj = tester.create_obj(i)
158
143
  publisher.publish(obj)
159
144
  end
160
145
  end
@@ -170,6 +155,7 @@ class JMSTest < Test::Unit::TestCase
170
155
  all_messages = []
171
156
  workers.each do |worker|
172
157
  msg_count = worker.message_count
158
+ assert msg_count
173
159
  assert msg_count >= min, "#{msg_count} is not between #{min} and #{max}"
174
160
  assert msg_count <= max, "#{msg_count} is not between #{min} and #{max}"
175
161
  # Make sure no duplicate messages
@@ -202,15 +188,17 @@ class JMSTest < Test::Unit::TestCase
202
188
  teardown do
203
189
  end
204
190
 
205
- [BSONTest, JSONTest, RubyTest, StringTest].each do |marshal_module|
206
- #[RubyTest].each do |marshal_module|
207
- #[BSONTest, JSONTest, StringTest].each do |marshal_module|
208
- marshal_module.name =~ /(.*)Test/
209
- marshal_type = $1
191
+ {
192
+ :bson => HashTest,
193
+ :json => HashTest,
194
+ :ruby => RubyTest,
195
+ :string => StringTest,
196
+ :yaml => HashTest
197
+ }.each do |marshal, tester|
210
198
 
211
- context "marshaling with #{marshal_type}" do
199
+ context "marshaling with #{marshal}" do
212
200
  setup do
213
- @domain = "Uniquize_#{marshal_module.name}"
201
+ @domain = "Uniquize_#{marshal}"
214
202
  @manager = ModernTimes::Manager.new(:domain => @domain)
215
203
  end
216
204
 
@@ -223,26 +211,22 @@ class JMSTest < Test::Unit::TestCase
223
211
 
224
212
  should "operate on queues and topics" do
225
213
  WorkerHelper.reset_workers
226
- [DefaultWorker, Dummy::DefaultWorker, SpecifiedQueueWorker, SpecifiedQueue2Worker, SpecifiedTopicWorker, SpecifiedTopic2Worker].each do |worker_klass|
227
- worker_klass.send(:include, marshal_module)
228
- worker_klass.send(:marshal, marshal_module)
229
- end
230
- @manager.add(DefaultWorker, 3)
231
- @manager.add(DefaultWorker, 2, :name => 'DefaultClone')
232
- @manager.add(Dummy::DefaultWorker, 4)
233
- @manager.add(SpecifiedQueueWorker, 3)
234
- @manager.add(SpecifiedQueueWorker, 2, :name => 'SpecifiedQueueClone')
235
- @manager.add(SpecifiedQueue2Worker, 2)
236
- @manager.add(SpecifiedTopicWorker, 3)
237
- @manager.add(SpecifiedTopicWorker, 2, :name => 'SpecifiedTopicClone')
238
- @manager.add(SpecifiedTopic2Worker, 2)
214
+ @manager.add(DefaultWorker, 3, :tester => tester)
215
+ @manager.add(DefaultWorker, 2, :name => 'DefaultClone', :tester => tester)
216
+ @manager.add(Dummy::DefaultWorker, 4, :tester => tester)
217
+ @manager.add(SpecifiedQueueWorker, 3, :tester => tester)
218
+ @manager.add(SpecifiedQueueWorker, 2, :name => 'SpecifiedQueueClone', :tester => tester)
219
+ @manager.add(SpecifiedQueue2Worker, 2, :tester => tester)
220
+ @manager.add(SpecifiedTopicWorker, 3, :tester => tester)
221
+ @manager.add(SpecifiedTopicWorker, 2, :name => 'SpecifiedTopicClone', :tester => tester)
222
+ @manager.add(SpecifiedTopic2Worker, 2, :tester => tester)
239
223
 
240
224
  sleep 1
241
225
 
242
- publish(marshal_module, 100..199, :queue_name => 'Default')
243
- publish(marshal_module, 200..299, :queue_name => 'Dummy_Default')
244
- publish(marshal_module, 300..499, :queue_name => 'MyQueueName')
245
- publish(marshal_module, 500..599, :virtual_topic_name => 'MyTopicName')
226
+ publish(marshal, tester, 100..199, :queue_name => 'Default')
227
+ publish(marshal, tester, 200..299, :queue_name => 'Dummy_Default')
228
+ publish(marshal, tester, 300..499, :queue_name => 'MyQueueName')
229
+ publish(marshal, tester, 500..599, :virtual_topic_name => 'MyTopicName')
246
230
 
247
231
  # Let the workers do their thing
248
232
  sleep 5
@@ -259,18 +243,15 @@ class JMSTest < Test::Unit::TestCase
259
243
 
260
244
  context 'dummy publishing' do
261
245
  setup do
246
+ WorkerHelper.reset_workers
262
247
  workers = [
263
- DefaultWorker,
264
- Dummy::DefaultWorker,
265
- SpecifiedQueueWorker,
266
- SpecifiedQueue2Worker,
267
- SpecifiedTopicWorker,
268
- SpecifiedTopic2Worker,
248
+ DefaultWorker.new(:tester => RubyTest),
249
+ Dummy::DefaultWorker.new(:tester => RubyTest),
250
+ SpecifiedQueueWorker.new(:tester => RubyTest),
251
+ SpecifiedQueue2Worker.new(:tester => RubyTest),
252
+ SpecifiedTopicWorker.new(:tester => RubyTest),
253
+ SpecifiedTopic2Worker.new(:tester => RubyTest),
269
254
  ]
270
- workers.each do |worker_klass|
271
- worker_klass.send(:include, RubyTest)
272
- end
273
- WorkerHelper.reset_workers
274
255
  ModernTimes::JMS::Publisher.setup_dummy_publishing(workers)
275
256
  end
276
257
 
@@ -279,10 +260,10 @@ class JMSTest < Test::Unit::TestCase
279
260
  end
280
261
 
281
262
  should "directly call applicable workers" do
282
- publish(RubyTest, 100..199, :queue_name => 'Default')
283
- publish(RubyTest, 200..299, :queue_name => 'Dummy_Default')
284
- publish(RubyTest, 300..499, :queue_name => 'MyQueueName')
285
- publish(RubyTest, 500..599, :virtual_topic_name => 'MyTopicName')
263
+ publish(:ruby, RubyTest, 100..199, :queue_name => 'Default')
264
+ publish(:ruby, RubyTest, 200..299, :queue_name => 'Dummy_Default')
265
+ publish(:ruby, RubyTest, 300..499, :queue_name => 'MyQueueName')
266
+ publish(:ruby, RubyTest, 500..599, :virtual_topic_name => 'MyTopicName')
286
267
 
287
268
  # DefaultWorker should have 5 instances running with each worker handling between 10-30 messages in the range 100.199
288
269
  assert_worker(nil, DefaultWorker, nil, 1, 100..199, 100, 100, 1)