jruby-hornetq 0.3.2 → 0.3.3
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.
- data/Rakefile +1 -1
- data/examples/advanced/producer.rb +3 -2
- data/examples/producer-consumer/consume_all.rb +3 -6
- data/lib/hornetq/client/org_hornetq_core_client_impl_client_consumer_impl.rb +6 -2
- data/lib/hornetq/client/org_hornetq_core_client_impl_client_producer_impl.rb +15 -0
- data/lib/hornetq/uri.rb +1 -1
- data/test/uri_test.rb +3 -3
- metadata +7 -16
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ desc "Build gem"
|
|
9
9
|
task :gem do |t|
|
10
10
|
gemspec = Gem::Specification.new do |s|
|
11
11
|
s.name = 'jruby-hornetq'
|
12
|
-
s.version = '0.3.
|
12
|
+
s.version = '0.3.3'
|
13
13
|
s.authors = ['Reid Morrison', 'Brad Pardee']
|
14
14
|
s.email = ['rubywmq@gmail.com', 'bpardee@gmail.com']
|
15
15
|
s.homepage = 'https://github.com/ClarityServices/jruby-hornetq'
|
@@ -18,13 +18,14 @@ config = YAML.load_file(File.dirname(__FILE__) + '/hornetq.yml')['development']
|
|
18
18
|
# Create a HornetQ session
|
19
19
|
HornetQ::Client::Connection.session(config) do |session|
|
20
20
|
# Create a non-durable TestQueue to receive messages sent to the TestAddress
|
21
|
-
session.create_queue_ignore_exists('
|
21
|
+
session.create_queue_ignore_exists('TestAddress', 'TestQueue', false)
|
22
22
|
start_time = Time.now
|
23
23
|
|
24
|
-
session.producer('
|
24
|
+
session.producer('TestAddress') do |producer|
|
25
25
|
puts "Sending messages"
|
26
26
|
(1..count).each do |i|
|
27
27
|
message = session.create_message(HornetQ::Client::Message::TEXT_TYPE,false)
|
28
|
+
message.body = "#{Time.now}: ### Hello, World ###"
|
28
29
|
message.body = "#{Time.now}: #{i} : ### Hello, World ###"
|
29
30
|
message.user_id = Java::org.hornetq.utils::UUIDGenerator.getInstance.generateUUID
|
30
31
|
|
@@ -10,16 +10,13 @@ require 'rubygems'
|
|
10
10
|
require 'hornetq'
|
11
11
|
|
12
12
|
# Using Connect.start since a session must be started in order to consume messages
|
13
|
-
HornetQ::Client::Connection.start_session(
|
14
|
-
:connection => {:uri => 'hornetq://stage1'} ,
|
15
|
-
:session => { :username => 'clarity', :password => 'clarityrul3s'}) do |session|
|
13
|
+
HornetQ::Client::Connection.start_session('hornetq://localhost') do |session|
|
16
14
|
|
17
15
|
# Create a non-durable TestQueue to receive messages sent to the TestAddress
|
18
|
-
session.create_queue_ignore_exists('
|
16
|
+
session.create_queue_ignore_exists('TestAddress', 'TestQueue', false)
|
19
17
|
|
20
18
|
# Consume All messages from the queue and gather statistics
|
21
|
-
stats = session.consume(:queue_name => '
|
22
|
-
puts "Body Size:#{message.body_size}"
|
19
|
+
stats = session.consume(:queue_name => 'TestQueue', :timeout=> 0, :statistics=>true) do |message|
|
23
20
|
p message
|
24
21
|
puts "=================================="
|
25
22
|
message.acknowledge
|
@@ -13,12 +13,16 @@
|
|
13
13
|
#
|
14
14
|
# Note: receive can be used directly, but it is recommended to use #each where possible
|
15
15
|
#
|
16
|
-
# ClientMessage
|
16
|
+
# ClientMessage receive()
|
17
17
|
# Receives a message from a queue
|
18
|
+
# Wait forever until a message is received
|
18
19
|
# ClientMessage receive(long timeout)
|
19
20
|
# Receives a message from a queue
|
20
|
-
#
|
21
|
+
# Returns nil if no message was received after timeout milliseconds
|
22
|
+
# ClientMessage receive_immediate()
|
21
23
|
# Receives a message from a queue
|
24
|
+
# Return immediately if no message is available on the queue
|
25
|
+
# Returns nil if no message available
|
22
26
|
#
|
23
27
|
class Java::org.hornetq.core.client.impl::ClientConsumerImpl
|
24
28
|
|
@@ -27,4 +27,19 @@
|
|
27
27
|
# Returns whether the producer will block when sending non-durable messages
|
28
28
|
#
|
29
29
|
class Java::org.hornetq.core.client.impl::ClientProducerImpl
|
30
|
+
def send_with_retry(message)
|
31
|
+
first_time = true
|
32
|
+
begin
|
33
|
+
send(message)
|
34
|
+
rescue Java::org.hornetq.api.core.HornetQException => e
|
35
|
+
HornetQ.logger.warn "Received producer exception: #{e.message} with code=#{e.cause.code}"
|
36
|
+
if first_time && e.cause.code == Java::org.hornetq.api.core.HornetQException::UNBLOCKED
|
37
|
+
HornetQ.logger.info "Retrying the send"
|
38
|
+
first_time = false
|
39
|
+
retry
|
40
|
+
else
|
41
|
+
raise
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
30
45
|
end
|
data/lib/hornetq/uri.rb
CHANGED
data/test/uri_test.rb
CHANGED
@@ -33,9 +33,9 @@ class URITest < Test::Unit::TestCase
|
|
33
33
|
assert_equal HornetQ.netty_port(1234), uri.port
|
34
34
|
assert_nil uri.backup_host
|
35
35
|
assert_equal '/zulu', uri.path
|
36
|
-
assert_equal '../abc', uri[
|
36
|
+
assert_equal '../abc', uri['data_directory']
|
37
37
|
assert_equal false, uri.backup?
|
38
|
-
assert_equal 'def', uri[
|
38
|
+
assert_equal 'def', uri['myval']
|
39
39
|
end
|
40
40
|
|
41
41
|
should 'parse backup server' do
|
@@ -45,7 +45,7 @@ class URITest < Test::Unit::TestCase
|
|
45
45
|
assert_equal HornetQ.netty_port(5446), uri.port
|
46
46
|
assert_nil uri.backup_host
|
47
47
|
assert_equal '/', uri.path
|
48
|
-
assert_equal './data_backup', uri[
|
48
|
+
assert_equal './data_backup', uri['data_directory']
|
49
49
|
assert_equal true, uri.backup?
|
50
50
|
end
|
51
51
|
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby-hornetq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 2
|
9
|
-
version: 0.3.2
|
4
|
+
prerelease:
|
5
|
+
version: 0.3.3
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Reid Morrison
|
@@ -15,20 +11,17 @@ autorequire:
|
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
13
|
|
18
|
-
date: 2011-03-
|
14
|
+
date: 2011-03-24 00:00:00 -04:00
|
19
15
|
default_executable:
|
20
16
|
dependencies:
|
21
17
|
- !ruby/object:Gem::Dependency
|
22
18
|
name: gene_pool
|
23
19
|
prerelease: false
|
24
20
|
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
none: false
|
25
22
|
requirements:
|
26
23
|
- - ~>
|
27
24
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 1
|
30
|
-
- 1
|
31
|
-
- 1
|
32
25
|
version: 1.1.1
|
33
26
|
type: :runtime
|
34
27
|
version_requirements: *id001
|
@@ -124,23 +117,21 @@ rdoc_options: []
|
|
124
117
|
require_paths:
|
125
118
|
- lib
|
126
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
+
none: false
|
127
121
|
requirements:
|
128
122
|
- - ">="
|
129
123
|
- !ruby/object:Gem::Version
|
130
|
-
segments:
|
131
|
-
- 0
|
132
124
|
version: "0"
|
133
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
134
127
|
requirements:
|
135
128
|
- - ">="
|
136
129
|
- !ruby/object:Gem::Version
|
137
|
-
segments:
|
138
|
-
- 0
|
139
130
|
version: "0"
|
140
131
|
requirements: []
|
141
132
|
|
142
133
|
rubyforge_project:
|
143
|
-
rubygems_version: 1.
|
134
|
+
rubygems_version: 1.5.1
|
144
135
|
signing_key:
|
145
136
|
specification_version: 3
|
146
137
|
summary: JRuby interface into HornetQ
|