jruby-hornetq 0.2.5.alpha → 0.3.0.alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. data/HISTORY.md +12 -0
  2. data/Rakefile +13 -1
  3. data/bin/hornetq_server +2 -2
  4. data/examples/README +6 -0
  5. data/examples/{client/advanced → advanced}/batch_client.rb +18 -34
  6. data/examples/advanced/bytes_producer.rb +25 -0
  7. data/examples/advanced/client.rb +56 -0
  8. data/examples/{client/advanced/multi_client.rb → advanced/client_session_pooling.rb} +29 -25
  9. data/examples/advanced/consume_on_message.rb +50 -0
  10. data/examples/advanced/consumer.rb +31 -0
  11. data/examples/{client/advanced → advanced}/hornetq.yml +8 -6
  12. data/examples/advanced/multi_client.rb +71 -0
  13. data/examples/advanced/producer.rb +37 -0
  14. data/examples/advanced/server.rb +44 -0
  15. data/examples/client-server/client.rb +40 -0
  16. data/examples/client-server/server.rb +37 -0
  17. data/examples/producer-consumer/consume_all.rb +25 -0
  18. data/examples/producer-consumer/consume_on_message.rb +46 -0
  19. data/examples/producer-consumer/consumer.rb +27 -0
  20. data/examples/producer-consumer/producer.rb +32 -0
  21. data/examples/{client/resque → resque}/hornetq_job.rb +2 -2
  22. data/examples/{client/resque → resque}/processor.rb +1 -1
  23. data/examples/{client/resque → resque}/readme.md +0 -0
  24. data/examples/{client/resque → resque}/resque_conf.rb +0 -0
  25. data/examples/{client/resque → resque}/resque_worker.rb +0 -0
  26. data/examples/{client/resque → resque}/sleep_job.rb +0 -0
  27. data/examples/{server → server-config}/backup_server.yml +0 -0
  28. data/examples/{server → server-config}/live_server.yml +0 -0
  29. data/examples/{server → server-config}/standalone_server.yml +0 -0
  30. data/examples/{client → simple}/invm.rb +6 -7
  31. data/examples/{advanced/transaction-failover → transaction-failover}/README +0 -0
  32. data/examples/{advanced/transaction-failover → transaction-failover}/consumer.rb +4 -1
  33. data/examples/{advanced/transaction-failover → transaction-failover}/hornetq.yml +6 -3
  34. data/examples/{advanced/transaction-failover → transaction-failover}/producer.rb +8 -3
  35. data/examples/{simple_worker → worker}/README +0 -0
  36. data/examples/worker/hornetq.yml +26 -0
  37. data/examples/worker/producer.rb +71 -0
  38. data/examples/{simple_worker → worker}/test_object.rb +0 -0
  39. data/examples/worker/worker.rb +72 -0
  40. data/lib/hornetq/client.rb +1 -1
  41. data/lib/hornetq/client/{factory.rb → connection.rb} +153 -86
  42. data/lib/hornetq/client/message_handler.rb +3 -3
  43. data/lib/hornetq/client/org_hornetq_api_core_client_client_session.rb +187 -26
  44. data/lib/hornetq/client/org_hornetq_core_client_impl_client_consumer_impl.rb +26 -9
  45. data/lib/hornetq/client/org_hornetq_core_client_impl_client_message_impl.rb +190 -35
  46. data/lib/hornetq/client/session_pool.rb +4 -4
  47. data/lib/hornetq/common/log_delegate.rb +17 -15
  48. data/lib/hornetq/common/logging.rb +20 -7
  49. data/lib/hornetq/common/org_hornetq_core_logging_logger.rb +11 -9
  50. data/lib/hornetq/server.rb +86 -3
  51. data/lib/hornetq/{org_hornetq_core_server_hornet_q_server.rb → server/org_hornetq_core_server_hornet_q_server.rb} +1 -1
  52. data/lib/hornetq/uri.rb +4 -0
  53. data/test/client_connection_test.rb +158 -0
  54. data/test/logging_test.rb +32 -0
  55. data/test/server_test.rb +208 -0
  56. metadata +47 -48
  57. data/examples/client/advanced/bytes_producer.rb +0 -21
  58. data/examples/client/advanced/client.rb +0 -47
  59. data/examples/client/advanced/consumer.rb +0 -35
  60. data/examples/client/advanced/multi_consumer.rb +0 -54
  61. data/examples/client/advanced/producer.rb +0 -35
  62. data/examples/client/advanced/server.rb +0 -39
  63. data/examples/client/client.rb +0 -31
  64. data/examples/client/consumer.rb +0 -22
  65. data/examples/client/data/bindings/hornetq-bindings-1.bindings +0 -0
  66. data/examples/client/data/bindings/hornetq-bindings-2.bindings +0 -0
  67. data/examples/client/data/journal/hornetq-data-1.hq +0 -0
  68. data/examples/client/data/journal/hornetq-data-2.hq +0 -0
  69. data/examples/client/producer.rb +0 -21
  70. data/examples/client/server.rb +0 -31
  71. data/examples/simple_worker/hornetq.yml +0 -34
  72. data/examples/simple_worker/producer.rb +0 -54
  73. data/examples/simple_worker/worker.rb +0 -49
  74. data/lib/data/bindings/hornetq-bindings-1.bindings +0 -0
  75. data/lib/data/bindings/hornetq-bindings-2.bindings +0 -0
  76. data/lib/hornetq/server/factory.rb +0 -87
  77. data/test/server_factory_test.rb +0 -183
@@ -1,183 +0,0 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require 'shoulda'
4
- require 'hornetq'
5
- require 'fileutils'
6
-
7
- class MyThread < ::Thread
8
- def initialize(name, &block)
9
- super() do
10
- begin
11
- yield
12
- rescue => e
13
- puts("Thread #{name} died due to exception #{e.message}\n#{e.backtrace.join("\n")}")
14
- end
15
- end
16
- end
17
- end
18
-
19
- class ServerFactoryTest < Test::Unit::TestCase
20
- context 'standalone server' do
21
- setup do
22
- @server = nil
23
- @tmp_data_dir = "/tmp/data_dir/#{$$}"
24
- @uri = "hornetq://localhost:15445"
25
- @server_thread = MyThread.new('standalone server') do
26
- @server = HornetQ::Server::Factory.create_server(:uri => @uri, :data_directory => @tmp_data_dir)
27
- @server.start
28
- end
29
- # Give the server time to startup
30
- sleep 5
31
- end
32
-
33
- teardown do
34
- @server.stop
35
- @server_thread.join
36
- FileUtils.rm_rf(@tmp_data_dir)
37
- end
38
-
39
- should 'pass simple messages' do
40
- count = 10
41
- queue_name = 'test_queue'
42
- config = {
43
- :connector => { :uri => @uri },
44
- :session => { :username =>'guest', :password => 'guest'}
45
- }
46
-
47
- # Create a HornetQ session
48
- HornetQ::Client::Factory.session(config) do |session|
49
- session.create_queue(queue_name, queue_name, true)
50
- producer = session.create_producer(queue_name)
51
- (1..count).each do |i|
52
- message = session.create_message(HornetQ::Client::Message::TEXT_TYPE,false)
53
- message.durable = true
54
- # Set the message body text
55
- message.body = "Message ##{i}"
56
- # Send message to the queue
57
- producer.send(message)
58
- end
59
- end
60
-
61
- HornetQ::Client::Factory.session(config) do |session|
62
- consumer = session.create_consumer(queue_name)
63
- session.start
64
-
65
- i = 0
66
- while message = consumer.receive(1000)
67
- i += 1
68
- message.acknowledge
69
- assert_equal "Message ##{i}", message.body
70
- end
71
- end
72
- end
73
- end
74
-
75
- context 'live and backup server' do
76
- setup do
77
- @count = 20
78
-
79
- @server = nil
80
- @tmp_data_dir = "/tmp/data_dir/#{$$}"
81
- @uri = "hornetq://localhost:15445,localhost:15446"
82
-
83
- @backup_server = nil
84
- @backup_tmp_data_dir = "/tmp/backup_data_dir/#{$$}"
85
- @backup_uri = "hornetq://localhost:15446"
86
-
87
- @backup_server_thread = MyThread.new('backup server') do
88
- begin
89
- @backup_server = HornetQ::Server::Factory.create_server(:uri => @backup_uri, :data_directory => @backup_tmp_data_dir, :backup => true)
90
- @backup_server.start
91
- rescue Exception => e
92
- puts "Error in backup server thread: #{e.message}\n#{e.backtrace.join("\n")}"
93
- end
94
- end
95
- # Give the backup server time to startup
96
- sleep 10
97
-
98
- @server_thread = MyThread.new('live server') do
99
- begin
100
- @server = HornetQ::Server::Factory.create_server(:uri => @uri, :data_directory => @tmp_data_dir)
101
- @server.start
102
- rescue Exception => e
103
- puts "Error in live server thread: #{e.message}\n#{e.backtrace.join("\n")}"
104
- end
105
- end
106
-
107
- # Give the live server time to startup
108
- sleep 10
109
-
110
- @queue_name = 'test_queue'
111
- @config = {
112
- :connector => {
113
- :uri => @uri,
114
- :failover_on_initial_connection => true,
115
- :failover_on_server_shutdown => true,
116
- },
117
- :session => { :username =>'guest', :password => 'guest'}
118
- }
119
-
120
- @killer_thread = MyThread.new('killer') do
121
- sleep 5
122
- @server.stop
123
- end
124
-
125
- @producer_thread = MyThread.new('producer') do
126
- # Create a HornetQ session
127
- HornetQ::Client::Factory.session(@config) do |session|
128
- session.create_queue(@queue_name, @queue_name, true)
129
- producer = session.create_producer(@queue_name)
130
- (1..@count).each do |i|
131
- message = session.create_message(HornetQ::Client::Message::TEXT_TYPE, true)
132
- # Set the message body text
133
- message.body = "Message ##{i}"
134
- # Send message to the queue
135
- begin
136
- puts "Producing message: #{message.body}"
137
- producer.send(message)
138
- sleep 1
139
- rescue Java::org.hornetq.api.core.HornetQException => e
140
- puts "Received producer exception: #{e.message} with code=#{e.cause.code}"
141
- if e.cause.getCode == Java::org.hornetq.api.core.HornetQException::UNBLOCKED
142
- puts "Retrying the send"
143
- retry
144
- end
145
- rescue Exception => e
146
- puts "Received producer exception: #{e.message}"
147
- end
148
- end
149
- end
150
- end
151
- end
152
-
153
- teardown do
154
- @server.stop
155
- @backup_server.stop
156
- [ @server_thread, @backup_server_thread, @killer_thread, @producer_thread ].each do |thread|
157
- thread.join
158
- end
159
- FileUtils.rm_rf([@tmp_data_dir, @backup_tmp_data_dir])
160
- end
161
-
162
- should 'failover to backup server w/o message loss' do
163
- # Let the producer create the queue
164
- sleep 2
165
- HornetQ::Client::Factory.session(@config) do |session|
166
- consumer = session.create_consumer(@queue_name)
167
- session.start
168
-
169
- i = 0
170
- while message = consumer.receive(1000)
171
- i += 1
172
- message.acknowledge
173
- assert_equal "Message ##{i}", message.body
174
- puts "Consuming message #{message.body}"
175
- end
176
- assert_equal @count, i
177
- end
178
-
179
- killer_thread.join
180
- producer_thread.join
181
- end
182
- end
183
- end