gemfire-jruby 0.0.8 → 0.0.9

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.8
1
+ 0.0.9
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{gemfire-jruby}
8
- s.version = "0.0.8"
8
+ s.version = "0.0.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Alan McKean"]
data/lib/examples.rb CHANGED
@@ -4,8 +4,74 @@ require 'gemfire-jruby'
4
4
 
5
5
  ## create the server
6
6
  server = GemFireServer.new('localhost:10355')
7
- # copy and paste the ExampleCacheListener class (below) into the server shell
7
+ # copy and paste the ExampleCacheListener, ExampleCacheWriter and ExampleCacheLoader classes (below) into the server shell
8
+
9
+ class ExampleCacheListener
10
+ def afterCreate(entryEvent)
11
+ puts YAML::load(entryEvent.getKey).to_s + ' was created with ' + YAML::load(entryEvent.getNewValue).to_s
12
+ end
13
+ def afterUpdate(entryEvent)
14
+ puts YAML::load(entryEvent.getKey).to_s + ' was updated to ' + YAML::load(entryEvent.getNewValue).to_s
15
+ end
16
+ def afterDestroy(entryEvent)
17
+ puts YAML::load(entryEvent.getKey).to_s + ' was destroyed'
18
+ end
19
+ def afterInvalidate(entryEvent)
20
+ end
21
+ def afterRegionCreate(regionEvent)
22
+ puts 'Region ' + regionEvent.getRegion.getName + ' was created'
23
+ end
24
+ def afterRegionDestroy(regionEvent)
25
+ puts 'Region ' + regionEvent.getRegion.getName + ' was destroyed'
26
+ end
27
+ def afterRegionClear(regionEvent)
28
+ puts 'Region ' + regionEvent.getRegion.getName + ' was cleared'
29
+ end
30
+ def afterRegionInvalidate(regionEvent)
31
+ puts 'Region ' + regionEvent.getRegion.getName + ' was invalidated'
32
+ end
33
+ def afterRegionLive(regionEvent)
34
+ raise 'Not supported in gemfire-jruby'
35
+ end
36
+ def close
37
+ puts 'CacheListener is closing'
38
+ end
39
+ end
40
+
41
+ class ExampleCacheWriter
42
+ def beforeCreate(entryEvent)
43
+ puts YAML::load(entryEvent.getKey).to_s + ' is about to be created with ' + YAML::load(entryEvent.getNewValue).to_s
44
+ end
45
+ def beforeUpdate(entryEvent)
46
+ puts YAML::load(entryEvent.getKey).to_s + ' is about to be updated to ' + YAML::load(entryEvent.getNewValue).to_s
47
+ end
48
+ def beforeDestroy(entryEvent)
49
+ puts YAML::load(entryEvent.getKey).to_s + ' is about to be destroyed'
50
+ end
51
+ def beforeRegionDestroy(regionEvent)
52
+ puts 'Region ' + regionEvent.getRegion.getName + ' is about to be destroyed'
53
+ end
54
+ def beforeRegionClear(regionEvent)
55
+ puts 'Region ' + regionEvent.getRegion.getName + ' is about to be cleared'
56
+ end
57
+ def close
58
+ puts 'CacheWriter is closing'
59
+ end
60
+ end
61
+
62
+ class ExampleCacheLoader
63
+ def load(helper)
64
+ puts 'Loading ' + YAML::load(helper.getKey).to_s
65
+ 'V' + YAML::load(helper.getKey).to_s
66
+ end
67
+ def close
68
+ puts 'CacheLoader is closing'
69
+ end
70
+ end
71
+
8
72
  server.addListener(ExampleCacheListener.new)
73
+ server.setWriter(ExampleCacheWriter.new)
74
+ server.setLoader(ExampleCacheLoader.new)
9
75
 
10
76
  # Now, in another jirb shell
11
77
  require 'rubygems'
@@ -13,28 +79,76 @@ require 'gemfire-jruby'
13
79
 
14
80
  ## create the client
15
81
  client = GemFireClient.new('localhost:10355')
82
+
16
83
  # copy and paste the ExampleCacheListener class (below) into the server shell
84
+ class ExampleCacheListener
85
+ def afterCreate(entryEvent)
86
+ puts YAML::load(entryEvent.getKey).to_s + ' was created with ' + YAML::load(entryEvent.getNewValue).to_s
87
+ end
88
+ def afterUpdate(entryEvent)
89
+ puts YAML::load(entryEvent.getKey).to_s + ' was updated to ' + YAML::load(entryEvent.getNewValue).to_s
90
+ end
91
+ def afterDestroy(entryEvent)
92
+ puts YAML::load(entryEvent.getKey).to_s + ' was destroyed'
93
+ end
94
+ def afterInvalidate(entryEvent)
95
+ end
96
+ def afterRegionCreate(regionEvent)
97
+ puts 'Region ' + regionEvent.getRegion.getName + ' was created'
98
+ end
99
+ def afterRegionDestroy(regionEvent)
100
+ puts 'Region ' + regionEvent.getRegion.getName + ' was destroyed'
101
+ end
102
+ def afterRegionClear(regionEvent)
103
+ puts 'Region ' + regionEvent.getRegion.getName + ' was cleared'
104
+ end
105
+ def afterRegionInvalidate(regionEvent)
106
+ puts 'Region ' + regionEvent.getRegion.getName + ' was invalidated'
107
+ end
108
+ def afterRegionLive(regionEvent)
109
+ raise 'Not supported in gemfire-jruby'
110
+ end
111
+ def close
112
+ puts 'CacheListener is closing'
113
+ end
114
+ end
115
+
17
116
  client.addListener(ExampleCacheListener.new)
18
117
 
19
118
  # Put some data into the client shell ... the listeners should fire in both shells
20
119
  (1..12).each do |key| client.write(key, Date.new(key,key,key)) end
21
120
 
22
- # Explore the client api in the client shell
121
+ # Explore the client memcached api in the client shell
23
122
  client.read(1)
24
123
  client.keys
25
124
  client.exist?(1)
26
125
 
27
- # Try the server api in the server shell
126
+ # Now some of the GemFire api
127
+ client.create(200,200)
128
+ client.put(200,200)
129
+ client.invalidate(200)
130
+ client.destroy(200)
131
+
132
+ # Try the server memcached api in the server shell
28
133
  server.read(1)
29
134
  server.keys
30
135
  server.exist?(1)
31
136
 
137
+ # Now the server GemFire api
138
+ server.create(200,200)
139
+ server.put(200,200)
140
+ server.invalidate(200)
141
+ server.destroy(200)
142
+
32
143
  # Back in the client shell
33
144
  client.delete(1)
34
145
  client.exist?(1)
146
+ client.clear
35
147
 
36
148
  # Check in the server shell
37
- server.exist?(1)
149
+ server.create(100,100)
150
+ server.exist?(100)
151
+ server.clear
38
152
 
39
153
  class ExampleCacheListener
40
154
  def afterCreate(entryEvent)
@@ -44,22 +158,25 @@ class ExampleCacheListener
44
158
  puts YAML::load(entryEvent.getKey).to_s + ' was updated to ' + YAML::load(entryEvent.getNewValue).to_s
45
159
  end
46
160
  def afterDestroy(entryEvent)
47
- puts YAML::load(entryEvent.getKey).to_s + 'was destroyed'
161
+ puts YAML::load(entryEvent.getKey).to_s + ' was destroyed'
48
162
  end
49
163
  def afterInvalidate(entryEvent)
164
+ puts YAML::load(entryEvent.getKey).to_s + ' was invalidated'
50
165
  end
51
166
  def afterRegionCreate(regionEvent)
52
- puts 'Region ' + regionEvent.getRegion.getName + 'was created'
167
+ puts 'Region ' + regionEvent.getRegion.getName + ' was created'
53
168
  end
54
169
  def afterRegionDestroy(regionEvent)
55
- puts 'Region ' + regionEvent.getRegion.getName + 'was destroyed'
170
+ puts 'Region ' + regionEvent.getRegion.getName + ' was destroyed'
56
171
  end
57
172
  def afterRegionClear(regionEvent)
58
- puts 'Region ' + regionEvent.getRegion.getName + 'was cleared'
173
+ puts 'Region ' + regionEvent.getRegion.getName + ' was cleared'
59
174
  end
60
175
  def afterRegionInvalidate(regionEvent)
176
+ puts 'Region ' + regionEvent.getRegion.getName + ' was invalidated'
61
177
  end
62
178
  def afterRegionLive(regionEvent)
179
+ raise 'Not supported in gemfire-jruby'
63
180
  end
64
181
  def close
65
182
  puts 'CacheListener is closing'
data/lib/gemfire-jruby.rb CHANGED
@@ -135,11 +135,15 @@ module ActiveSupport
135
135
  logger.error("GemfireCache Error (#{e}): #{e.message}")
136
136
  end
137
137
 
138
- # Add a CacheListener to the cache region
138
+ # Add and remove CacheListeners to the cache region
139
139
  def addListener(cacheListener)
140
140
  @region.getAttributesMutator.addCacheListener(cacheListener)
141
141
  end
142
142
 
143
+ def removeListener(cacheListener)
144
+ @region.getAttributesMutator.removeCacheListener(cacheListener)
145
+ end
146
+
143
147
  # Install a CacheWriter into the client's cache region
144
148
  def setWriter(cacheWriter)
145
149
  if @role == 'server' then
@@ -289,6 +293,10 @@ class GemFireCacher
289
293
  @gemfire.addListener(cacheListener)
290
294
  end
291
295
 
296
+ def removeListener(cacheListener)
297
+ @gemfire.removeListener(cacheListener)
298
+ end
299
+
292
300
  # Memcached api
293
301
  def read(key)
294
302
  @gemfire.read(key)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemfire-jruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alan McKean