rubyhaze 0.0.5-jruby → 0.0.6-jruby
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +1 -1
- data/Rakefile +2 -2
- data/VERSION +1 -1
- data/jars/hazelcast-1.9-RC.jar +0 -0
- data/jars/{hazelcast-client-1.8.5.jar → hazelcast-client-1.9-RC.jar} +0 -0
- data/lib/rubyhaze/client.rb +1 -1
- data/lib/rubyhaze/node.rb +1 -1
- data/lib/rubyhaze/queue.rb +4 -0
- data/lib/rubyhaze.rb +23 -7
- data/test/helper.rb +32 -5
- data/test/test_queue.rb +4 -3
- data/test/test_topic.rb +1 -20
- metadata +7 -7
- data/jars/hazelcast-1.8.5.jar +0 -0
data/README.rdoc
CHANGED
@@ -32,7 +32,7 @@ Let's open another console to check how this distributed hash works:
|
|
32
32
|
|
33
33
|
== Distributed Objects
|
34
34
|
|
35
|
-
Check out the
|
35
|
+
Check out the http://github.com/aemadrid/rubyhaze-persisted gem to get your own distributed ruby objects:
|
36
36
|
|
37
37
|
shell> rvm jruby
|
38
38
|
shell> gem install rubyhaze-persisted
|
data/Rakefile
CHANGED
@@ -7,8 +7,8 @@ begin
|
|
7
7
|
require 'jeweler'
|
8
8
|
Jeweler::Tasks.new do |gem|
|
9
9
|
gem.name = "rubyhaze"
|
10
|
-
gem.summary = %Q{
|
11
|
-
gem.description = %Q{RubyHaze is a little gem that wraps the Java Hazelcast library into a more comfortable
|
10
|
+
gem.summary = %Q{Hazelcast distributed objects in my JRuby}
|
11
|
+
gem.description = %Q{RubyHaze is a little gem that wraps the Java Hazelcast library into a more comfortable JRuby package.}
|
12
12
|
gem.email = "aemadrid@gmail.com"
|
13
13
|
gem.homepage = "http://github.com/aemadrid/rubyhaze"
|
14
14
|
gem.authors = ["Adrian Madrid"]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.6
|
Binary file
|
Binary file
|
data/lib/rubyhaze/client.rb
CHANGED
@@ -4,7 +4,7 @@ require 'java'
|
|
4
4
|
module RubyHaze
|
5
5
|
|
6
6
|
MODE = "client" unless defined? MODE
|
7
|
-
GEM_JAR_PATH = File.expand_path(File.dirname(__FILE__) + '/../../jars/hazelcast-client-1.
|
7
|
+
GEM_JAR_PATH = File.expand_path(File.dirname(__FILE__) + '/../../jars/hazelcast-client-1.9-RC.jar') unless defined? GEM_JAR_PATH
|
8
8
|
JAR_PATH = (ENV['HAZELCAST_CLIENT_JAR_PATH'] || GEM_JAR_PATH) unless defined? JAR_PATH
|
9
9
|
|
10
10
|
end
|
data/lib/rubyhaze/node.rb
CHANGED
@@ -4,7 +4,7 @@ require 'java'
|
|
4
4
|
module RubyHaze
|
5
5
|
|
6
6
|
MODE = "node" unless defined? MODE
|
7
|
-
GEM_JAR_PATH = File.expand_path(File.dirname(__FILE__) + '/../../jars/hazelcast-1.
|
7
|
+
GEM_JAR_PATH = File.expand_path(File.dirname(__FILE__) + '/../../jars/hazelcast-1.9-RC.jar') unless defined? GEM_JAR_PATH
|
8
8
|
JAR_PATH = (ENV['HAZELCAST_NODE_JAR_PATH'] || GEM_JAR_PATH) unless defined? JAR_PATH
|
9
9
|
|
10
10
|
end
|
data/lib/rubyhaze/queue.rb
CHANGED
data/lib/rubyhaze.rb
CHANGED
@@ -27,22 +27,30 @@ module RubyHaze
|
|
27
27
|
|
28
28
|
java_import 'com.hazelcast.core.Hazelcast'
|
29
29
|
|
30
|
+
def connected?
|
31
|
+
!!@connected
|
32
|
+
end
|
33
|
+
|
30
34
|
# To start a cluster we can pass a hash of options or nil to load it from ./hazelcast.yml if available and a Config
|
31
35
|
# object will be generated.
|
32
36
|
def init(options = nil)
|
33
|
-
|
37
|
+
if connected?
|
38
|
+
puts ">> Already connected with Hazelcast ..."
|
39
|
+
false
|
40
|
+
else
|
34
41
|
if options
|
35
42
|
config = RubyHaze::Config.new(options).proxy_object
|
36
43
|
Hazelcast.init config
|
37
|
-
|
38
|
-
|
39
|
-
puts ">> Shutting down Hazelcast ..."
|
40
|
-
Hazelcast.shutdown
|
41
|
-
puts ">> ... done!"
|
44
|
+
else
|
45
|
+
Hazelcast.cluster
|
42
46
|
end
|
43
47
|
@connected = true
|
44
48
|
end
|
45
|
-
|
49
|
+
end
|
50
|
+
|
51
|
+
def shutdown
|
52
|
+
@connected = false
|
53
|
+
Hazelcast.shutdown
|
46
54
|
end
|
47
55
|
|
48
56
|
def random_uuid
|
@@ -73,6 +81,14 @@ module RubyHaze
|
|
73
81
|
|
74
82
|
end
|
75
83
|
|
84
|
+
at_exit do
|
85
|
+
if RubyHaze.connected?
|
86
|
+
puts ">> Shutting down Hazelcast before closing shop ..."
|
87
|
+
RubyHaze.shutdown
|
88
|
+
puts ">> ... done!"
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
76
92
|
require 'rubyhaze/mixins/proxy'
|
77
93
|
require 'rubyhaze/mixins/compare'
|
78
94
|
require 'rubyhaze/mixins/native_exception'
|
data/test/helper.rb
CHANGED
@@ -1,8 +1,35 @@
|
|
1
|
-
|
2
|
-
require 'test/unit'
|
3
|
-
require 'forwardable'
|
4
|
-
require 'date'
|
1
|
+
unless HELPER_LOADED
|
5
2
|
|
6
|
-
|
3
|
+
require File.expand_path(File.dirname(__FILE__) + '/../lib/rubyhaze')
|
4
|
+
require 'test/unit'
|
5
|
+
require 'forwardable'
|
6
|
+
require 'date'
|
7
7
|
|
8
|
+
# Load the Hazelcast cluster
|
9
|
+
RubyHaze.init :group => { :username => "test", :password => "test" }
|
8
10
|
|
11
|
+
# Grab notices
|
12
|
+
class Notices
|
13
|
+
class << self
|
14
|
+
extend Forwardable
|
15
|
+
def all
|
16
|
+
@all ||= []
|
17
|
+
end
|
18
|
+
def_delegators :all, :size, :<<, :first, :last, :clear, :map
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# Listen on messages
|
23
|
+
class TestListener
|
24
|
+
def initialize(name)
|
25
|
+
@name = name
|
26
|
+
end
|
27
|
+
def on_message(msg)
|
28
|
+
Notices << "[#{@name}] #{msg}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Finished loading helpers
|
33
|
+
HELPER_LOADED = true
|
34
|
+
|
35
|
+
end
|
data/test/test_queue.rb
CHANGED
@@ -4,14 +4,15 @@ class TestRubyHazeQueue < Test::Unit::TestCase
|
|
4
4
|
|
5
5
|
def test_single_queing
|
6
6
|
tasks = RubyHaze::Queue[:test_single]
|
7
|
-
|
7
|
+
qty = 50
|
8
|
+
qty.times { |idx| tasks.put [idx, Process.pid] }
|
8
9
|
found = []
|
9
10
|
while !tasks.empty? do
|
10
|
-
task = tasks.poll
|
11
|
+
task = tasks.poll
|
11
12
|
found << task
|
12
13
|
end
|
13
14
|
assert !found.empty?
|
14
|
-
assert_equal found.size,
|
15
|
+
assert_equal found.size, qty
|
15
16
|
end
|
16
17
|
|
17
18
|
end
|
data/test/test_topic.rb
CHANGED
@@ -1,23 +1,4 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/helper')
|
2
|
-
|
3
|
-
class Notices
|
4
|
-
class << self
|
5
|
-
extend Forwardable
|
6
|
-
def all
|
7
|
-
@all ||= []
|
8
|
-
end
|
9
|
-
def_delegators :all, :size, :<<, :first, :last, :clear, :map
|
10
|
-
end
|
11
|
-
end unless defined? Notices
|
12
|
-
|
13
|
-
class TestListener
|
14
|
-
def initialize(name)
|
15
|
-
@name = name
|
16
|
-
end
|
17
|
-
def on_message(msg)
|
18
|
-
Notices << "[#{@name}] #{msg}"
|
19
|
-
end
|
20
|
-
end
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/helper') unless defined?(HELPER_LOADED)
|
21
2
|
|
22
3
|
class TestRubyHazeTopic < Test::Unit::TestCase
|
23
4
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 6
|
9
|
+
version: 0.0.6
|
10
10
|
platform: jruby
|
11
11
|
authors:
|
12
12
|
- Adrian Madrid
|
@@ -14,11 +14,11 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-08
|
17
|
+
date: 2010-09-08 00:00:00 -06:00
|
18
18
|
default_executable: rubyhaze_console
|
19
19
|
dependencies: []
|
20
20
|
|
21
|
-
description: RubyHaze is a little gem that wraps the Java Hazelcast library into a more comfortable
|
21
|
+
description: RubyHaze is a little gem that wraps the Java Hazelcast library into a more comfortable JRuby package.
|
22
22
|
email: aemadrid@gmail.com
|
23
23
|
executables:
|
24
24
|
- rubyhaze_console
|
@@ -33,8 +33,8 @@ files:
|
|
33
33
|
- Rakefile
|
34
34
|
- VERSION
|
35
35
|
- bin/rubyhaze_console
|
36
|
-
- jars/hazelcast-1.
|
37
|
-
- jars/hazelcast-client-1.
|
36
|
+
- jars/hazelcast-1.9-RC.jar
|
37
|
+
- jars/hazelcast-client-1.9-RC.jar
|
38
38
|
- lib/rubyhaze.rb
|
39
39
|
- lib/rubyhaze/client.rb
|
40
40
|
- lib/rubyhaze/configs/config.rb
|
@@ -88,7 +88,7 @@ rubyforge_project:
|
|
88
88
|
rubygems_version: 1.3.6
|
89
89
|
signing_key:
|
90
90
|
specification_version: 3
|
91
|
-
summary:
|
91
|
+
summary: Hazelcast distributed objects in my JRuby
|
92
92
|
test_files:
|
93
93
|
- test/test_hash.rb
|
94
94
|
- test/test_queue.rb
|
data/jars/hazelcast-1.8.5.jar
DELETED
Binary file
|