Skip to content

Commit e43d823

Browse files
author
emre
committed
Add Traditional WebSphere support
1 parent bd2737c commit e43d823

File tree

5 files changed

+32
-11
lines changed

5 files changed

+32
-11
lines changed

README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,17 @@ project root directory:
4141
4242
- Execute `mvn clean package` on `hazelcast-dynacache` root directory to create the `.esa` file
4343
44-
# Installing Hazelcast DynaCache to Liberty
44+
# Installing Hazelcast DynaCache to WebSphere Liberty
4545
4646
Install the `.esa` file by executing the following command:
4747
4848
```
49-
<liberty dir>/bin/featureManager install hazelcast-dynacache/hazelcast-dynacache/target/hazelcast-dynacache-0.1.esa
49+
<liberty dir>/bin/featureManager install hazelcast-dynacache/hazelcast-dynacache/target/hazelcast-dynacache-0.2.esa
5050
```
5151
52-
# Enabling Hazelcast DynaCache
52+
Use `hazelcast` as your cache provider name in your `cacheinstances.properties` file.
53+
54+
# Enabling Hazelcast DynaCache on WebSphere Liberty
5355
5456
Enable Hazelcast DynaCache by adding the following snippet to your `server.xml` file:
5557
@@ -58,3 +60,16 @@ Enable Hazelcast DynaCache by adding the following snippet to your `server.xml`
5860
<feature>usr:hazelcast-dynacache</feature>
5961
</featureManager>
6062
```
63+
64+
65+
66+
# Installing Hazelcast DynaCache to Traditional WebSphere 9.0.0.1
67+
68+
[Apply the iFix](http://www.ibm.com/support/knowledgecenter/SS7K4U_8.5.5/com.ibm.websphere.installation.nd.doc/ae/tins_install_fixes_dist.html)
69+
under `twas-ifix` directory to your WebSphere server and put the following files under `WAS_HOME/lib/ext`:
70+
71+
* hazelcast-3.8-BUNDLE.jar
72+
* hazelcast-client-3.8-BUNDLE.jar
73+
* hazelcast-dynacache-bundle-0.2.jar
74+
75+
Use `com.hazelcast.ibm.dynacache.CacheProviderImpl` as your cache provider name in your `cacheinstances.properties` file.

hazelcast-dynacache-bundle/src/main/java/com/hazelcast/ibm/dynacache/CacheEntryImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public boolean isInvalid() {
169169
public boolean prepareForSerialization() {
170170
LOGGER.finest("[CacheEntry] prepareForSerialization");
171171

172-
return false;
172+
return true;
173173
}
174174

175175
@Override

hazelcast-dynacache-bundle/src/main/java/com/hazelcast/ibm/dynacache/CacheProviderImpl.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package com.hazelcast.ibm.dynacache;
22

3+
import com.hazelcast.client.HazelcastClient;
34
import com.hazelcast.client.config.ClientConfig;
45
import com.hazelcast.client.config.XmlClientConfigBuilder;
56
import com.hazelcast.client.osgi.HazelcastClientOSGiService;
6-
import com.hazelcast.client.osgi.HazelcastOSGiClientInstance;
7+
import com.hazelcast.core.HazelcastInstance;
78
import com.ibm.wsspi.cache.CacheConfig;
89
import com.ibm.wsspi.cache.CacheFeatureSupport;
910
import com.ibm.wsspi.cache.CacheProvider;
@@ -67,7 +68,12 @@ public CoreCache createCache(CacheConfig cacheConfig) {
6768

6869
LOGGER.finest("hazelcastClientOSGIService: " + hazelcastClientOSGIService);
6970

70-
HazelcastOSGiClientInstance hazelcastClientInstance = hazelcastClientOSGIService.newHazelcastInstance(config);
71+
HazelcastInstance hazelcastClientInstance;
72+
if (hazelcastClientOSGIService != null) {
73+
hazelcastClientInstance = hazelcastClientOSGIService.newHazelcastInstance(config);
74+
} else {
75+
hazelcastClientInstance = HazelcastClient.newHazelcastClient(config);
76+
}
7177

7278
LOGGER.finest("HazelcastClientInstance: " + hazelcastClientInstance);
7379

hazelcast-dynacache-bundle/src/main/java/com/hazelcast/ibm/dynacache/CoreCacheImpl.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.hazelcast.ibm.dynacache;
22

3-
import com.hazelcast.client.osgi.HazelcastOSGiClientInstance;
3+
import com.hazelcast.core.HazelcastInstance;
44
import com.hazelcast.core.IMap;
55
import com.hazelcast.core.MultiMap;
66
import com.ibm.websphere.cache.CacheEntry;
@@ -22,7 +22,7 @@ public class CoreCacheImpl implements CoreCache {
2222
private final MultiMap<Object, Object> dependencyIds;
2323
private final MultiMap<Object, Object> templateIds;
2424

25-
public CoreCacheImpl(String cacheName, HazelcastOSGiClientInstance hazelcastInstance) {
25+
public CoreCacheImpl(String cacheName, HazelcastInstance hazelcastInstance) {
2626
this.cacheName = cacheName;
2727

2828
this.cache = hazelcastInstance.getMap(cacheName);
@@ -100,7 +100,7 @@ public Set<Object> getTemplateIds() {
100100
public void invalidate(Object id, boolean waitOnInvalidation) {
101101
LOGGER.finest("[CoreCache] invalidate: " + id + " " + waitOnInvalidation);
102102

103-
invalidate(id);
103+
doInvalidate(id, waitOnInvalidation);
104104
invalidateByDependency(id, waitOnInvalidation);
105105
invalidateByTemplate(id.toString(), waitOnInvalidation);
106106
}
@@ -109,10 +109,10 @@ public void invalidate(Object id, boolean waitOnInvalidation) {
109109
public void invalidateByCacheId(Object cacheId, boolean waitOnInvalidation) {
110110
LOGGER.finest("[CoreCache] invalidate(cacheId): " + cacheId + ":" + waitOnInvalidation);
111111

112-
invalidate(cacheId);
112+
doInvalidate(cacheId, waitOnInvalidation);
113113
}
114114

115-
private void invalidate(Object id) {
115+
private void doInvalidate(Object id, boolean waitOnInvalidation) {
116116
CacheEntry removedEntry = (CacheEntry) cache.remove(id);
117117

118118
if (removedEntry != null) {
248 KB
Binary file not shown.

0 commit comments

Comments
 (0)