diff --git a/gravitee-apim-repository/gravitee-apim-repository-hazelcast/src/main/java/io/gravitee/repository/hazelcast/ratelimit/HazelcastRateLimitRepository.java b/gravitee-apim-repository/gravitee-apim-repository-hazelcast/src/main/java/io/gravitee/repository/hazelcast/ratelimit/HazelcastRateLimitRepository.java index 8ef90ad936..514099f15f 100644 --- a/gravitee-apim-repository/gravitee-apim-repository-hazelcast/src/main/java/io/gravitee/repository/hazelcast/ratelimit/HazelcastRateLimitRepository.java +++ b/gravitee-apim-repository/gravitee-apim-repository-hazelcast/src/main/java/io/gravitee/repository/hazelcast/ratelimit/HazelcastRateLimitRepository.java @@ -16,14 +16,16 @@ package io.gravitee.repository.hazelcast.ratelimit; import com.hazelcast.core.HazelcastInstance; -import com.hazelcast.core.IMap; +import com.hazelcast.map.IMap; import io.gravitee.repository.hazelcast.ratelimit.configuration.HazelcastRateLimitConfiguration; import io.gravitee.repository.ratelimit.api.RateLimitRepository; import io.gravitee.repository.ratelimit.model.RateLimit; -import io.reactivex.*; +import io.reactivex.Completable; +import io.reactivex.Maybe; +import io.reactivex.Single; +import io.reactivex.SingleSource; import io.reactivex.functions.Function; import io.reactivex.schedulers.Schedulers; -import java.util.concurrent.Callable; import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.Lock; import java.util.function.Supplier; @@ -53,7 +55,7 @@ public void afterPropertiesSet() { public Single incrementAndGet(String key, long weight, Supplier supplier) { final long now = System.currentTimeMillis(); - Lock lock = hazelcastInstance.getLock("lock-rl-" + key); + Lock lock = hazelcastInstance.getCPSubsystem().getLock("lock-rl-" + key); return Completable .create( @@ -67,7 +69,7 @@ public Single incrementAndGet(String key, long weight, Supplier Maybe - .fromFuture(counters.getAsync(key)) + .fromFuture(counters.getAsync(key).toCompletableFuture()) .switchIfEmpty((SingleSource) observer -> observer.onSuccess(supplier.get())) .flatMap( (Function>) rateLimit -> { @@ -81,12 +83,14 @@ public Single incrementAndGet(String key, long weight, Supplier Single.just(finalRateLimit))) .doFinally(lock::unlock); diff --git a/pom.xml b/pom.xml index ad5fb3d043..c6e2a7da0a 100644 --- a/pom.xml +++ b/pom.xml @@ -83,7 +83,7 @@ 2.7 30.1.1-jre 1.3 - 3.12.9 + 4.1.1 3.7.0 1.9.13 3.10.2