From 7021c7ddea26e4556a7fa5d6b3a406f48781d06e Mon Sep 17 00:00:00 2001 From: akuksin Date: Sat, 13 Jun 2020 01:04:24 +0200 Subject: [PATCH 1/2] use hazelcast version 4.0.1 --- spring-boot/hazelcast/hazelcast-client-server/build.gradle | 2 +- .../java/io/reflectoring/cache/cleint/client/CacheClient.java | 2 +- .../io/reflectoring/cache/cleint/AbstractIntegrationTest.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-boot/hazelcast/hazelcast-client-server/build.gradle b/spring-boot/hazelcast/hazelcast-client-server/build.gradle index 09fcb25..cb248cb 100644 --- a/spring-boot/hazelcast/hazelcast-client-server/build.gradle +++ b/spring-boot/hazelcast/hazelcast-client-server/build.gradle @@ -22,7 +22,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' - compile group: 'com.hazelcast', name: 'hazelcast-client', version: '3.12.7' + compile group: 'com.hazelcast', name: 'hazelcast', version: '4.0.1' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } diff --git a/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java b/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java index e125091..14ba391 100644 --- a/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java +++ b/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java @@ -2,7 +2,7 @@ package io.reflectoring.cache.cleint.client; import com.hazelcast.client.HazelcastClient; import com.hazelcast.core.HazelcastInstance; -import com.hazelcast.core.IMap; +import com.hazelcast.map.IMap; import io.reflectoring.cache.cleint.rest.Car; import org.springframework.stereotype.Component; diff --git a/spring-boot/hazelcast/hazelcast-client-server/src/test/java/io/reflectoring/cache/cleint/AbstractIntegrationTest.java b/spring-boot/hazelcast/hazelcast-client-server/src/test/java/io/reflectoring/cache/cleint/AbstractIntegrationTest.java index de2dc08..9b611ac 100644 --- a/spring-boot/hazelcast/hazelcast-client-server/src/test/java/io/reflectoring/cache/cleint/AbstractIntegrationTest.java +++ b/spring-boot/hazelcast/hazelcast-client-server/src/test/java/io/reflectoring/cache/cleint/AbstractIntegrationTest.java @@ -7,11 +7,11 @@ import org.testcontainers.containers.GenericContainer; public class AbstractIntegrationTest { static GenericContainer firstMember = - new FixedHostPortGenericContainer("hazelcast/hazelcast:3.12.7") + new FixedHostPortGenericContainer("hazelcast/hazelcast:4.0.1") .withFixedExposedPort(5701, 5701); static GenericContainer secondMember = - new FixedHostPortGenericContainer("hazelcast/hazelcast:3.12.7") + new FixedHostPortGenericContainer("hazelcast/hazelcast:4.0.1") .withFixedExposedPort(5702, 5701); @BeforeAll From 07b25725411b39603ba0d18c7abd81adfcc53883 Mon Sep 17 00:00:00 2001 From: akuksin Date: Sat, 13 Jun 2020 01:11:13 +0200 Subject: [PATCH 2/2] use nearCache --- .../cache/cleint/client/CacheClient.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java b/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java index 14ba391..45342e4 100644 --- a/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java +++ b/spring-boot/hazelcast/hazelcast-client-server/src/main/java/io/reflectoring/cache/cleint/client/CacheClient.java @@ -1,6 +1,8 @@ package io.reflectoring.cache.cleint.client; import com.hazelcast.client.HazelcastClient; +import com.hazelcast.client.config.ClientConfig; +import com.hazelcast.config.NearCacheConfig; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.map.IMap; import io.reflectoring.cache.cleint.rest.Car; @@ -11,15 +13,29 @@ public class CacheClient { private static final String CARS = "cars"; - private HazelcastInstance client = HazelcastClient.newHazelcastClient(); + private HazelcastInstance client = HazelcastClient.newHazelcastClient(creatClientConfig()); - public Car put(String key, Car car){ + public Car put(String key, Car car) { IMap map = client.getMap(CARS); return map.putIfAbsent(key, car); } - public Car get(String key){ + public Car get(String key) { IMap map = client.getMap(CARS); return map.get(key); } + + private ClientConfig creatClientConfig() { + ClientConfig clientConfig = new ClientConfig(); + clientConfig.addNearCacheConfig(createNearCacheConfig()); + return clientConfig; + } + + private NearCacheConfig createNearCacheConfig() { + NearCacheConfig nearCacheConfig = new NearCacheConfig(); + nearCacheConfig.setName(CARS); + nearCacheConfig.setTimeToLiveSeconds(360); + nearCacheConfig.setMaxIdleSeconds(60); + return nearCacheConfig; + } }