diff --git a/redisson/src/main/java/org/redisson/api/CacheRx.java b/redisson/src/main/java/org/redisson/api/CacheRx.java
index 06c84b24c..0e0411398 100644
--- a/redisson/src/main/java/org/redisson/api/CacheRx.java
+++ b/redisson/src/main/java/org/redisson/api/CacheRx.java
@@ -23,9 +23,9 @@ import javax.cache.event.CacheEntryRemovedListener;
import javax.cache.integration.CacheLoader;
import javax.cache.integration.CacheWriter;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for JCache
diff --git a/redisson/src/main/java/org/redisson/api/RAtomicDoubleRx.java b/redisson/src/main/java/org/redisson/api/RAtomicDoubleRx.java
index c0ef5d372..9589e0f5c 100644
--- a/redisson/src/main/java/org/redisson/api/RAtomicDoubleRx.java
+++ b/redisson/src/main/java/org/redisson/api/RAtomicDoubleRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* Reactive interface for AtomicDouble object
diff --git a/redisson/src/main/java/org/redisson/api/RAtomicLongRx.java b/redisson/src/main/java/org/redisson/api/RAtomicLongRx.java
index 59c5c4b45..1f34202df 100644
--- a/redisson/src/main/java/org/redisson/api/RAtomicLongRx.java
+++ b/redisson/src/main/java/org/redisson/api/RAtomicLongRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for AtomicLong object
diff --git a/redisson/src/main/java/org/redisson/api/RBatchRx.java b/redisson/src/main/java/org/redisson/api/RBatchRx.java
index ef7aa60a6..4ca020497 100644
--- a/redisson/src/main/java/org/redisson/api/RBatchRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBatchRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.api;
-import io.reactivex.Maybe;
+import io.reactivex.rxjava3.core.Maybe;
import org.redisson.client.codec.Codec;
/**
diff --git a/redisson/src/main/java/org/redisson/api/RBinaryStreamRx.java b/redisson/src/main/java/org/redisson/api/RBinaryStreamRx.java
index 99f9df52d..e5a681f2d 100644
--- a/redisson/src/main/java/org/redisson/api/RBinaryStreamRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBinaryStreamRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.api;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
import java.nio.ByteBuffer;
diff --git a/redisson/src/main/java/org/redisson/api/RBitSetRx.java b/redisson/src/main/java/org/redisson/api/RBitSetRx.java
index 28bc58331..45e9ced4a 100644
--- a/redisson/src/main/java/org/redisson/api/RBitSetRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBitSetRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.BitSet;
diff --git a/redisson/src/main/java/org/redisson/api/RBlockingDequeRx.java b/redisson/src/main/java/org/redisson/api/RBlockingDequeRx.java
index 0f3649c1d..e0cd36fcb 100644
--- a/redisson/src/main/java/org/redisson/api/RBlockingDequeRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBlockingDequeRx.java
@@ -17,10 +17,10 @@ package org.redisson.api;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Redis based BlockingDeque object
diff --git a/redisson/src/main/java/org/redisson/api/RBlockingQueueRx.java b/redisson/src/main/java/org/redisson/api/RBlockingQueueRx.java
index 69c96df85..26b281032 100644
--- a/redisson/src/main/java/org/redisson/api/RBlockingQueueRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBlockingQueueRx.java
@@ -18,10 +18,10 @@ package org.redisson.api;
import java.util.Collection;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for BlockingQueue
diff --git a/redisson/src/main/java/org/redisson/api/RBucketRx.java b/redisson/src/main/java/org/redisson/api/RBucketRx.java
index cf53bad41..d27034feb 100644
--- a/redisson/src/main/java/org/redisson/api/RBucketRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBucketRx.java
@@ -15,9 +15,9 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RBucketsRx.java b/redisson/src/main/java/org/redisson/api/RBucketsRx.java
index 6cc8319d3..3245af3e1 100644
--- a/redisson/src/main/java/org/redisson/api/RBucketsRx.java
+++ b/redisson/src/main/java/org/redisson/api/RBucketsRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.Map;
diff --git a/redisson/src/main/java/org/redisson/api/RCollectionRx.java b/redisson/src/main/java/org/redisson/api/RCollectionRx.java
index 738ecd3bf..466ec62ca 100644
--- a/redisson/src/main/java/org/redisson/api/RCollectionRx.java
+++ b/redisson/src/main/java/org/redisson/api/RCollectionRx.java
@@ -19,8 +19,8 @@ import java.util.Collection;
import org.reactivestreams.Publisher;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
/**
* Common RxJava2 interface for collection object
diff --git a/redisson/src/main/java/org/redisson/api/RCountDownLatchRx.java b/redisson/src/main/java/org/redisson/api/RCountDownLatchRx.java
index cc17c8f98..efaf476cf 100644
--- a/redisson/src/main/java/org/redisson/api/RCountDownLatchRx.java
+++ b/redisson/src/main/java/org/redisson/api/RCountDownLatchRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RDequeRx.java b/redisson/src/main/java/org/redisson/api/RDequeRx.java
index 354651a27..1603c7695 100644
--- a/redisson/src/main/java/org/redisson/api/RDequeRx.java
+++ b/redisson/src/main/java/org/redisson/api/RDequeRx.java
@@ -15,10 +15,10 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Deque object
diff --git a/redisson/src/main/java/org/redisson/api/RExpirableRx.java b/redisson/src/main/java/org/redisson/api/RExpirableRx.java
index 276bab9dc..6e848a823 100644
--- a/redisson/src/main/java/org/redisson/api/RExpirableRx.java
+++ b/redisson/src/main/java/org/redisson/api/RExpirableRx.java
@@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.Date;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* Base interface for all Redisson objects
diff --git a/redisson/src/main/java/org/redisson/api/RGeoRx.java b/redisson/src/main/java/org/redisson/api/RGeoRx.java
index 24ea9b98e..3e03343d1 100644
--- a/redisson/src/main/java/org/redisson/api/RGeoRx.java
+++ b/redisson/src/main/java/org/redisson/api/RGeoRx.java
@@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.List;
import java.util.Map;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* Geospatial items holder. Reactive interface.
diff --git a/redisson/src/main/java/org/redisson/api/RHyperLogLogRx.java b/redisson/src/main/java/org/redisson/api/RHyperLogLogRx.java
index 7859f1d28..132519155 100644
--- a/redisson/src/main/java/org/redisson/api/RHyperLogLogRx.java
+++ b/redisson/src/main/java/org/redisson/api/RHyperLogLogRx.java
@@ -17,8 +17,8 @@ package org.redisson.api;
import java.util.Collection;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* Probabilistic data structure that lets you maintain counts of millions of items with extreme space efficiency.
diff --git a/redisson/src/main/java/org/redisson/api/RIdGeneratorRx.java b/redisson/src/main/java/org/redisson/api/RIdGeneratorRx.java
index 9f671592f..3a0e8f50e 100644
--- a/redisson/src/main/java/org/redisson/api/RIdGeneratorRx.java
+++ b/redisson/src/main/java/org/redisson/api/RIdGeneratorRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.api;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* Id generator of Long
type numbers.
diff --git a/redisson/src/main/java/org/redisson/api/RKeysRx.java b/redisson/src/main/java/org/redisson/api/RKeysRx.java
index 1e16b9b79..6f46dc403 100644
--- a/redisson/src/main/java/org/redisson/api/RKeysRx.java
+++ b/redisson/src/main/java/org/redisson/api/RKeysRx.java
@@ -15,10 +15,10 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RLexSortedSetRx.java b/redisson/src/main/java/org/redisson/api/RLexSortedSetRx.java
index 19a7d2eef..40f07e39d 100644
--- a/redisson/src/main/java/org/redisson/api/RLexSortedSetRx.java
+++ b/redisson/src/main/java/org/redisson/api/RLexSortedSetRx.java
@@ -17,7 +17,7 @@ package org.redisson.api;
import java.util.Collection;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for sorted set contained values of String type.
diff --git a/redisson/src/main/java/org/redisson/api/RListMultimapRx.java b/redisson/src/main/java/org/redisson/api/RListMultimapRx.java
index 0ba6483fc..e8703aa7d 100644
--- a/redisson/src/main/java/org/redisson/api/RListMultimapRx.java
+++ b/redisson/src/main/java/org/redisson/api/RListMultimapRx.java
@@ -17,7 +17,7 @@ package org.redisson.api;
import java.util.List;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for List based Multimap object
diff --git a/redisson/src/main/java/org/redisson/api/RListRx.java b/redisson/src/main/java/org/redisson/api/RListRx.java
index 31a19445a..cbe3ace33 100644
--- a/redisson/src/main/java/org/redisson/api/RListRx.java
+++ b/redisson/src/main/java/org/redisson/api/RListRx.java
@@ -18,10 +18,10 @@ package org.redisson.api;
import java.util.Collection;
import java.util.List;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* list functions
diff --git a/redisson/src/main/java/org/redisson/api/RLockRx.java b/redisson/src/main/java/org/redisson/api/RLockRx.java
index 539e49a70..67f76e874 100644
--- a/redisson/src/main/java/org/redisson/api/RLockRx.java
+++ b/redisson/src/main/java/org/redisson/api/RLockRx.java
@@ -17,8 +17,8 @@ package org.redisson.api;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Lock object
diff --git a/redisson/src/main/java/org/redisson/api/RMapCacheRx.java b/redisson/src/main/java/org/redisson/api/RMapCacheRx.java
index 5bbbd98a8..b28a4e09e 100644
--- a/redisson/src/main/java/org/redisson/api/RMapCacheRx.java
+++ b/redisson/src/main/java/org/redisson/api/RMapCacheRx.java
@@ -17,9 +17,9 @@ package org.redisson.api;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* Map-based cache with ability to set TTL for each entry via
diff --git a/redisson/src/main/java/org/redisson/api/RMapRx.java b/redisson/src/main/java/org/redisson/api/RMapRx.java
index 1a7ed26c7..78d28c511 100644
--- a/redisson/src/main/java/org/redisson/api/RMapRx.java
+++ b/redisson/src/main/java/org/redisson/api/RMapRx.java
@@ -25,10 +25,10 @@ import java.util.function.Function;
import org.redisson.api.map.MapLoader;
import org.redisson.api.map.MapWriter;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Redis based implementation
diff --git a/redisson/src/main/java/org/redisson/api/RMultimapCacheRx.java b/redisson/src/main/java/org/redisson/api/RMultimapCacheRx.java
index 9acaf9e1a..a0befc360 100644
--- a/redisson/src/main/java/org/redisson/api/RMultimapCacheRx.java
+++ b/redisson/src/main/java/org/redisson/api/RMultimapCacheRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.api;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RMultimapRx.java b/redisson/src/main/java/org/redisson/api/RMultimapRx.java
index 1d8104815..fe1edd705 100644
--- a/redisson/src/main/java/org/redisson/api/RMultimapRx.java
+++ b/redisson/src/main/java/org/redisson/api/RMultimapRx.java
@@ -17,7 +17,7 @@ package org.redisson.api;
import java.util.Set;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* Base RxJava2 interface for Multimap object
diff --git a/redisson/src/main/java/org/redisson/api/RObjectRx.java b/redisson/src/main/java/org/redisson/api/RObjectRx.java
index 767e6603b..07d23f3a0 100644
--- a/redisson/src/main/java/org/redisson/api/RObjectRx.java
+++ b/redisson/src/main/java/org/redisson/api/RObjectRx.java
@@ -19,8 +19,8 @@ import java.util.concurrent.TimeUnit;
import org.redisson.client.codec.Codec;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* Base RxJava2 interface for all Redisson objects
diff --git a/redisson/src/main/java/org/redisson/api/RPatternTopicRx.java b/redisson/src/main/java/org/redisson/api/RPatternTopicRx.java
index ed677d192..3c5f8d7f9 100644
--- a/redisson/src/main/java/org/redisson/api/RPatternTopicRx.java
+++ b/redisson/src/main/java/org/redisson/api/RPatternTopicRx.java
@@ -20,7 +20,7 @@ import java.util.List;
import org.redisson.api.listener.PatternMessageListener;
import org.redisson.api.listener.PatternStatusListener;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Pattern based observer for Publish Subscribe object.
diff --git a/redisson/src/main/java/org/redisson/api/RPermitExpirableSemaphoreRx.java b/redisson/src/main/java/org/redisson/api/RPermitExpirableSemaphoreRx.java
index fb3b63089..154f6ed65 100644
--- a/redisson/src/main/java/org/redisson/api/RPermitExpirableSemaphoreRx.java
+++ b/redisson/src/main/java/org/redisson/api/RPermitExpirableSemaphoreRx.java
@@ -17,9 +17,9 @@ package org.redisson.api;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Semaphore object with lease time parameter support for each acquired permit.
diff --git a/redisson/src/main/java/org/redisson/api/RQueueRx.java b/redisson/src/main/java/org/redisson/api/RQueueRx.java
index 85ed3940f..0c2dc0d97 100644
--- a/redisson/src/main/java/org/redisson/api/RQueueRx.java
+++ b/redisson/src/main/java/org/redisson/api/RQueueRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
import java.util.List;
diff --git a/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java b/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java
index 992f0b275..60da2e9b1 100644
--- a/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java
+++ b/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RReliableTopicRx.java b/redisson/src/main/java/org/redisson/api/RReliableTopicRx.java
index 121215a42..369f29580 100644
--- a/redisson/src/main/java/org/redisson/api/RReliableTopicRx.java
+++ b/redisson/src/main/java/org/redisson/api/RReliableTopicRx.java
@@ -15,9 +15,9 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
import org.redisson.api.listener.MessageListener;
/**
diff --git a/redisson/src/main/java/org/redisson/api/RRingBufferRx.java b/redisson/src/main/java/org/redisson/api/RRingBufferRx.java
index c58e19c94..534da758d 100644
--- a/redisson/src/main/java/org/redisson/api/RRingBufferRx.java
+++ b/redisson/src/main/java/org/redisson/api/RRingBufferRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* RingBuffer based queue evicts elements from the head if queue capacity became full.
diff --git a/redisson/src/main/java/org/redisson/api/RScoredSortedSetRx.java b/redisson/src/main/java/org/redisson/api/RScoredSortedSetRx.java
index 46bbe459e..2b14ea506 100644
--- a/redisson/src/main/java/org/redisson/api/RScoredSortedSetRx.java
+++ b/redisson/src/main/java/org/redisson/api/RScoredSortedSetRx.java
@@ -24,9 +24,9 @@ import java.util.concurrent.TimeUnit;
import org.redisson.api.RScoredSortedSet.Aggregate;
import org.redisson.client.protocol.ScoredEntry;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for scored sorted set data structure.
diff --git a/redisson/src/main/java/org/redisson/api/RScriptRx.java b/redisson/src/main/java/org/redisson/api/RScriptRx.java
index 72dd2d9ea..1deb7f9e6 100644
--- a/redisson/src/main/java/org/redisson/api/RScriptRx.java
+++ b/redisson/src/main/java/org/redisson/api/RScriptRx.java
@@ -20,9 +20,9 @@ import java.util.List;
import org.redisson.api.RScript.Mode;
import org.redisson.api.RScript.ReturnType;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Redis Script feature
diff --git a/redisson/src/main/java/org/redisson/api/RSemaphoreRx.java b/redisson/src/main/java/org/redisson/api/RSemaphoreRx.java
index bc4a0a0f7..bdd438e67 100644
--- a/redisson/src/main/java/org/redisson/api/RSemaphoreRx.java
+++ b/redisson/src/main/java/org/redisson/api/RSemaphoreRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/RSetCacheRx.java b/redisson/src/main/java/org/redisson/api/RSetCacheRx.java
index 3df7bdcec..a7274633f 100644
--- a/redisson/src/main/java/org/redisson/api/RSetCacheRx.java
+++ b/redisson/src/main/java/org/redisson/api/RSetCacheRx.java
@@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for RSetCache object
diff --git a/redisson/src/main/java/org/redisson/api/RSetMultimapRx.java b/redisson/src/main/java/org/redisson/api/RSetMultimapRx.java
index 15a948925..ba26d0cbe 100644
--- a/redisson/src/main/java/org/redisson/api/RSetMultimapRx.java
+++ b/redisson/src/main/java/org/redisson/api/RSetMultimapRx.java
@@ -17,7 +17,7 @@ package org.redisson.api;
import java.util.Set;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Set based Multimap
diff --git a/redisson/src/main/java/org/redisson/api/RSetRx.java b/redisson/src/main/java/org/redisson/api/RSetRx.java
index 20bd40f9b..80e4c3f1e 100644
--- a/redisson/src/main/java/org/redisson/api/RSetRx.java
+++ b/redisson/src/main/java/org/redisson/api/RSetRx.java
@@ -17,9 +17,9 @@ package org.redisson.api;
import java.util.Set;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Redis based implementation of {@link java.util.Set}
diff --git a/redisson/src/main/java/org/redisson/api/RSortableRx.java b/redisson/src/main/java/org/redisson/api/RSortableRx.java
index c74a9a4ad..02a173ba4 100644
--- a/redisson/src/main/java/org/redisson/api/RSortableRx.java
+++ b/redisson/src/main/java/org/redisson/api/RSortableRx.java
@@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.Collection;
import java.util.List;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
/**
*
diff --git a/redisson/src/main/java/org/redisson/api/RStreamRx.java b/redisson/src/main/java/org/redisson/api/RStreamRx.java
index 1d43d5f80..e39da81e4 100644
--- a/redisson/src/main/java/org/redisson/api/RStreamRx.java
+++ b/redisson/src/main/java/org/redisson/api/RStreamRx.java
@@ -19,8 +19,8 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
/**
* Reactive interface for Redis Stream object.
diff --git a/redisson/src/main/java/org/redisson/api/RTimeSeriesRx.java b/redisson/src/main/java/org/redisson/api/RTimeSeriesRx.java
index 95a1c89f0..4671fad09 100644
--- a/redisson/src/main/java/org/redisson/api/RTimeSeriesRx.java
+++ b/redisson/src/main/java/org/redisson/api/RTimeSeriesRx.java
@@ -15,10 +15,10 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
import java.util.Collection;
import java.util.Map;
diff --git a/redisson/src/main/java/org/redisson/api/RTopicRx.java b/redisson/src/main/java/org/redisson/api/RTopicRx.java
index 6e0e4e527..add024b97 100644
--- a/redisson/src/main/java/org/redisson/api/RTopicRx.java
+++ b/redisson/src/main/java/org/redisson/api/RTopicRx.java
@@ -20,9 +20,9 @@ import java.util.List;
import org.redisson.api.listener.MessageListener;
import org.redisson.api.listener.StatusListener;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
/**
* RxJava2 interface for Publish Subscribe object. Messages are delivered to all message listeners across Redis cluster.
diff --git a/redisson/src/main/java/org/redisson/api/RTransactionRx.java b/redisson/src/main/java/org/redisson/api/RTransactionRx.java
index 0b795d357..eff64f6d9 100644
--- a/redisson/src/main/java/org/redisson/api/RTransactionRx.java
+++ b/redisson/src/main/java/org/redisson/api/RTransactionRx.java
@@ -17,7 +17,7 @@ package org.redisson.api;
import org.redisson.client.codec.Codec;
-import io.reactivex.Completable;
+import io.reactivex.rxjava3.core.Completable;
/**
* RxJava2 interface for transaction object allows to execute transactions over Redisson objects.
diff --git a/redisson/src/main/java/org/redisson/api/RTransferQueueRx.java b/redisson/src/main/java/org/redisson/api/RTransferQueueRx.java
index f36ba9924..031617d84 100644
--- a/redisson/src/main/java/org/redisson/api/RTransferQueueRx.java
+++ b/redisson/src/main/java/org/redisson/api/RTransferQueueRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.api;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import java.util.concurrent.TimeUnit;
diff --git a/redisson/src/main/java/org/redisson/api/annotation/RRemoteRx.java b/redisson/src/main/java/org/redisson/api/annotation/RRemoteRx.java
index bad3ec56b..a8306adaf 100644
--- a/redisson/src/main/java/org/redisson/api/annotation/RRemoteRx.java
+++ b/redisson/src/main/java/org/redisson/api/annotation/RRemoteRx.java
@@ -27,17 +27,17 @@ import java.lang.annotation.Target;
* All method signatures must match with remote service interface,
* but return type must be one of the following:
*
- * - io.reactivex.Completable
- * - io.reactivex.Single
- * - io.reactivex.Maybe
+ * - io.reactivex.rxjava3.core.Completable
+ * - io.reactivex.rxjava3.core.Single
+ * - io.reactivex.rxjava3.core.Maybe
*
*
* It's not necessary to add all methods from remote service.
* Add only those which are needed.
*
- * @see io.reactivex.Completable
- * @see io.reactivex.Single
- * @see io.reactivex.Maybe
+ * @see io.reactivex.rxjava3.core.Completable
+ * @see io.reactivex.rxjava3.core.Single
+ * @see io.reactivex.rxjava3.core.Maybe
*
* @author Nikita Koksharov
*
diff --git a/redisson/src/main/java/org/redisson/remote/RxRemoteProxy.java b/redisson/src/main/java/org/redisson/remote/RxRemoteProxy.java
index 330ce1f5d..84ce9d107 100644
--- a/redisson/src/main/java/org/redisson/remote/RxRemoteProxy.java
+++ b/redisson/src/main/java/org/redisson/remote/RxRemoteProxy.java
@@ -24,10 +24,10 @@ import org.redisson.command.CommandAsyncExecutor;
import org.redisson.executor.RemotePromise;
import org.redisson.rx.CommandRxExecutor;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/CommandRxBatchService.java b/redisson/src/main/java/org/redisson/rx/CommandRxBatchService.java
index 3d9ab749b..f4228e447 100644
--- a/redisson/src/main/java/org/redisson/rx/CommandRxBatchService.java
+++ b/redisson/src/main/java/org/redisson/rx/CommandRxBatchService.java
@@ -29,7 +29,7 @@ import org.redisson.connection.ConnectionManager;
import org.redisson.connection.NodeSource;
import org.redisson.misc.RPromise;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/CommandRxExecutor.java b/redisson/src/main/java/org/redisson/rx/CommandRxExecutor.java
index 2538e2b53..1abe3c24e 100644
--- a/redisson/src/main/java/org/redisson/rx/CommandRxExecutor.java
+++ b/redisson/src/main/java/org/redisson/rx/CommandRxExecutor.java
@@ -20,7 +20,7 @@ import java.util.concurrent.Callable;
import org.redisson.api.RFuture;
import org.redisson.command.CommandAsyncExecutor;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/CommandRxService.java b/redisson/src/main/java/org/redisson/rx/CommandRxService.java
index 9fef453a1..db1888d3d 100644
--- a/redisson/src/main/java/org/redisson/rx/CommandRxService.java
+++ b/redisson/src/main/java/org/redisson/rx/CommandRxService.java
@@ -21,10 +21,10 @@ import org.redisson.api.RFuture;
import org.redisson.command.CommandAsyncService;
import org.redisson.connection.ConnectionManager;
-import io.reactivex.Flowable;
-import io.reactivex.functions.Action;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.Action;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/ElementsStream.java b/redisson/src/main/java/org/redisson/rx/ElementsStream.java
index b4be827f0..33f3fb4f6 100644
--- a/redisson/src/main/java/org/redisson/rx/ElementsStream.java
+++ b/redisson/src/main/java/org/redisson/rx/ElementsStream.java
@@ -21,10 +21,10 @@ import java.util.function.Supplier;
import org.redisson.api.RFuture;
-import io.reactivex.Flowable;
-import io.reactivex.functions.Action;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.Action;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/PublisherAdder.java b/redisson/src/main/java/org/redisson/rx/PublisherAdder.java
index 77867070e..f5db37793 100644
--- a/redisson/src/main/java/org/redisson/rx/PublisherAdder.java
+++ b/redisson/src/main/java/org/redisson/rx/PublisherAdder.java
@@ -15,19 +15,17 @@
*/
package org.redisson.rx;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicLong;
-
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
+import io.reactivex.rxjava3.functions.Action;
+import io.reactivex.rxjava3.functions.Consumer;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
import org.reactivestreams.Publisher;
import org.redisson.api.RFuture;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
-import io.reactivex.functions.Action;
-import io.reactivex.functions.Consumer;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.internal.operators.flowable.FlowableInternalHelper;
-import io.reactivex.processors.ReplayProcessor;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicLong;
/**
*
@@ -48,7 +46,7 @@ public abstract class PublisherAdder {
final AtomicBoolean completed = new AtomicBoolean();
final AtomicLong values = new AtomicLong();
final AtomicBoolean lastSize = new AtomicBoolean();
-
+
cc.subscribe(new Consumer() {
@Override
public void accept(V t) throws Exception {
@@ -58,7 +56,7 @@ public abstract class PublisherAdder {
p.onError(e);
return;
}
-
+
if (res) {
lastSize.set(true);
}
@@ -82,7 +80,7 @@ public abstract class PublisherAdder {
p.onComplete();
}
}
- }, FlowableInternalHelper.RequestMax.INSTANCE);
+ });
}
}).singleOrError();
}
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonBatchRx.java b/redisson/src/main/java/org/redisson/rx/RedissonBatchRx.java
index ebb8404d7..44c5c95ee 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonBatchRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonBatchRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.rx;
-import io.reactivex.Maybe;
+import io.reactivex.rxjava3.core.Maybe;
import org.redisson.*;
import org.redisson.api.*;
import org.redisson.client.codec.Codec;
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonBinaryStreamRx.java b/redisson/src/main/java/org/redisson/rx/RedissonBinaryStreamRx.java
index 4b0719dc8..96bc2b8fa 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonBinaryStreamRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonBinaryStreamRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.rx;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
import org.redisson.RedissonBinaryStream;
import org.redisson.api.RBinaryStream;
import org.redisson.api.RFuture;
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonBlockingDequeRx.java b/redisson/src/main/java/org/redisson/rx/RedissonBlockingDequeRx.java
index 6949bf480..945e1e5f2 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonBlockingDequeRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonBlockingDequeRx.java
@@ -17,7 +17,7 @@ package org.redisson.rx;
import org.redisson.RedissonBlockingDeque;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonBlockingQueueRx.java b/redisson/src/main/java/org/redisson/rx/RedissonBlockingQueueRx.java
index 8149e3e9d..780f67555 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonBlockingQueueRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonBlockingQueueRx.java
@@ -18,7 +18,7 @@ package org.redisson.rx;
import org.redisson.api.RBlockingQueueAsync;
import org.redisson.api.RListAsync;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonKeysRx.java b/redisson/src/main/java/org/redisson/rx/RedissonKeysRx.java
index 4235b52ce..90d45328e 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonKeysRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonKeysRx.java
@@ -23,9 +23,9 @@ import org.redisson.RedissonKeys;
import org.redisson.client.RedisClient;
import org.redisson.connection.MasterSlaveEntry;
-import io.reactivex.Flowable;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonLexSortedSetRx.java b/redisson/src/main/java/org/redisson/rx/RedissonLexSortedSetRx.java
index c6f11bc3c..9906e3235 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonLexSortedSetRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonLexSortedSetRx.java
@@ -22,8 +22,8 @@ import org.redisson.api.RLexSortedSet;
import org.redisson.client.RedisClient;
import org.redisson.client.protocol.decoder.ListScanResult;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonListRx.java b/redisson/src/main/java/org/redisson/rx/RedissonListRx.java
index 240f55bd0..2366519d5 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonListRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonListRx.java
@@ -19,9 +19,9 @@ import org.reactivestreams.Publisher;
import org.redisson.api.RFuture;
import org.redisson.api.RListAsync;
-import io.reactivex.Single;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Single;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
* Distributed and concurrent implementation of {@link java.util.List}
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonMapRxIterator.java b/redisson/src/main/java/org/redisson/rx/RedissonMapRxIterator.java
index d33e8baa7..c893a1d25 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonMapRxIterator.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonMapRxIterator.java
@@ -22,9 +22,9 @@ import java.util.concurrent.atomic.AtomicLong;
import org.redisson.RedissonMap;
import org.redisson.client.RedisClient;
-import io.reactivex.Flowable;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonReliableTopicRx.java b/redisson/src/main/java/org/redisson/rx/RedissonReliableTopicRx.java
index c1f9c6e6c..583f8f9e9 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonReliableTopicRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonReliableTopicRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.rx;
-import io.reactivex.Flowable;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
import org.redisson.api.RFuture;
import org.redisson.api.RReliableTopic;
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonScoredSortedSetRx.java b/redisson/src/main/java/org/redisson/rx/RedissonScoredSortedSetRx.java
index a46dfaa1d..c0eebea07 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonScoredSortedSetRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonScoredSortedSetRx.java
@@ -22,7 +22,7 @@ import org.redisson.api.RScoredSortedSetAsync;
import org.redisson.client.RedisClient;
import org.redisson.client.protocol.decoder.ListScanResult;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonSetCacheRx.java b/redisson/src/main/java/org/redisson/rx/RedissonSetCacheRx.java
index e4e8d9933..cb4a20232 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonSetCacheRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonSetCacheRx.java
@@ -15,7 +15,7 @@
*/
package org.redisson.rx;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Single;
import org.reactivestreams.Publisher;
import org.redisson.RedissonObject;
import org.redisson.ScanIterator;
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonSetRx.java b/redisson/src/main/java/org/redisson/rx/RedissonSetRx.java
index 66404ef01..d0010dfdb 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonSetRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonSetRx.java
@@ -15,8 +15,8 @@
*/
package org.redisson.rx;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
import org.reactivestreams.Publisher;
import org.redisson.RedissonObject;
import org.redisson.ScanIterator;
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonTopicRx.java b/redisson/src/main/java/org/redisson/rx/RedissonTopicRx.java
index 51a477444..253ac120d 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonTopicRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonTopicRx.java
@@ -21,10 +21,10 @@ import org.redisson.api.RFuture;
import org.redisson.api.RTopic;
import org.redisson.api.listener.MessageListener;
-import io.reactivex.Flowable;
-import io.reactivex.functions.Action;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.Action;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonTransactionRx.java b/redisson/src/main/java/org/redisson/rx/RedissonTransactionRx.java
index 2184ecf68..50df4e75a 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonTransactionRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonTransactionRx.java
@@ -31,7 +31,7 @@ import org.redisson.client.codec.Codec;
import org.redisson.reactive.RedissonSetReactive;
import org.redisson.transaction.RedissonTransaction;
-import io.reactivex.Completable;
+import io.reactivex.rxjava3.core.Completable;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/RedissonTransferQueueRx.java b/redisson/src/main/java/org/redisson/rx/RedissonTransferQueueRx.java
index 532ba0db2..c7f402608 100644
--- a/redisson/src/main/java/org/redisson/rx/RedissonTransferQueueRx.java
+++ b/redisson/src/main/java/org/redisson/rx/RedissonTransferQueueRx.java
@@ -15,10 +15,10 @@
*/
package org.redisson.rx;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
import org.reactivestreams.Publisher;
import org.redisson.RedissonTransferQueue;
import org.redisson.api.RFuture;
diff --git a/redisson/src/main/java/org/redisson/rx/RxProxyBuilder.java b/redisson/src/main/java/org/redisson/rx/RxProxyBuilder.java
index f728bc103..8d8d72538 100644
--- a/redisson/src/main/java/org/redisson/rx/RxProxyBuilder.java
+++ b/redisson/src/main/java/org/redisson/rx/RxProxyBuilder.java
@@ -22,9 +22,9 @@ import org.redisson.api.RFuture;
import org.redisson.misc.ProxyBuilder;
import org.redisson.misc.ProxyBuilder.Callback;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
/**
*
diff --git a/redisson/src/main/java/org/redisson/rx/SetRxIterator.java b/redisson/src/main/java/org/redisson/rx/SetRxIterator.java
index 287373345..6d65b2aab 100644
--- a/redisson/src/main/java/org/redisson/rx/SetRxIterator.java
+++ b/redisson/src/main/java/org/redisson/rx/SetRxIterator.java
@@ -21,9 +21,9 @@ import org.redisson.api.RFuture;
import org.redisson.client.RedisClient;
import org.redisson.client.protocol.decoder.ListScanResult;
-import io.reactivex.Flowable;
-import io.reactivex.functions.LongConsumer;
-import io.reactivex.processors.ReplayProcessor;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.functions.LongConsumer;
+import io.reactivex.rxjava3.processors.ReplayProcessor;
/**
*
diff --git a/redisson/src/test/java/org/redisson/RedissonRemoteServiceTest.java b/redisson/src/test/java/org/redisson/RedissonRemoteServiceTest.java
index 2d5618986..5c597edd9 100644
--- a/redisson/src/test/java/org/redisson/RedissonRemoteServiceTest.java
+++ b/redisson/src/test/java/org/redisson/RedissonRemoteServiceTest.java
@@ -33,8 +33,8 @@ import org.redisson.codec.SerializationCodec;
import org.redisson.remote.RemoteServiceAckTimeoutException;
import org.redisson.remote.RemoteServiceTimeoutException;
-import io.reactivex.Completable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Single;
import reactor.core.Disposable;
import reactor.core.publisher.Mono;
@@ -445,7 +445,7 @@ public class RedissonRemoteServiceTest extends BaseTest {
RemoteInterfaceRx ri = r2.getRemoteService().get(RemoteInterfaceRx.class);
Completable f = ri.voidMethod("someName", 100L);
- f.blockingGet();
+ f.blockingAwait();
Single resFuture = ri.resultMethod(100L);
assertThat(resFuture.blockingGet()).isEqualTo(200);
diff --git a/redisson/src/test/java/org/redisson/rx/BaseRxTest.java b/redisson/src/test/java/org/redisson/rx/BaseRxTest.java
index c50de9f70..c316adb4c 100644
--- a/redisson/src/test/java/org/redisson/rx/BaseRxTest.java
+++ b/redisson/src/test/java/org/redisson/rx/BaseRxTest.java
@@ -14,10 +14,10 @@ import org.redisson.api.RScoredSortedSetRx;
import org.redisson.api.RedissonRxClient;
import org.redisson.config.Config;
-import io.reactivex.Completable;
-import io.reactivex.Flowable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
public abstract class BaseRxTest {
@@ -49,7 +49,7 @@ public abstract class BaseRxTest {
}
public static void sync(Completable completable) {
- completable.blockingGet();
+ completable.blockingAwait();
}
public static V sync(Single single) {
diff --git a/redisson/src/test/java/org/redisson/rx/RedissonBatchRxTest.java b/redisson/src/test/java/org/redisson/rx/RedissonBatchRxTest.java
index 8ea0d5307..5d8d80a85 100644
--- a/redisson/src/test/java/org/redisson/rx/RedissonBatchRxTest.java
+++ b/redisson/src/test/java/org/redisson/rx/RedissonBatchRxTest.java
@@ -39,9 +39,9 @@ import org.redisson.client.RedisException;
import org.redisson.client.codec.StringCodec;
import org.redisson.config.Config;
-import io.reactivex.Completable;
-import io.reactivex.Maybe;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Completable;
+import io.reactivex.rxjava3.core.Maybe;
+import io.reactivex.rxjava3.core.Single;
@RunWith(Parameterized.class)
public class RedissonBatchRxTest extends BaseRxTest {
diff --git a/redisson/src/test/java/org/redisson/rx/RedissonKeysRxTest.java b/redisson/src/test/java/org/redisson/rx/RedissonKeysRxTest.java
index 209865a32..392fae793 100644
--- a/redisson/src/test/java/org/redisson/rx/RedissonKeysRxTest.java
+++ b/redisson/src/test/java/org/redisson/rx/RedissonKeysRxTest.java
@@ -1,6 +1,6 @@
package org.redisson.rx;
-import io.reactivex.Flowable;
+import io.reactivex.rxjava3.core.Flowable;
import org.junit.Assert;
import org.junit.Test;
import org.redisson.api.RBucketRx;
diff --git a/redisson/src/test/java/org/redisson/rx/RedissonTopicRxTest.java b/redisson/src/test/java/org/redisson/rx/RedissonTopicRxTest.java
index 58658d339..4eea0276e 100644
--- a/redisson/src/test/java/org/redisson/rx/RedissonTopicRxTest.java
+++ b/redisson/src/test/java/org/redisson/rx/RedissonTopicRxTest.java
@@ -3,9 +3,12 @@ package org.redisson.rx;
import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
+import java.time.Duration;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import org.awaitility.Awaitility;
import org.junit.Assert;
import org.junit.Test;
import org.reactivestreams.Subscriber;
@@ -13,8 +16,8 @@ import org.reactivestreams.Subscription;
import org.redisson.api.RTopicRx;
import org.redisson.api.listener.MessageListener;
-import io.reactivex.Flowable;
-import io.reactivex.Single;
+import io.reactivex.rxjava3.core.Flowable;
+import io.reactivex.rxjava3.core.Single;
public class RedissonTopicRxTest extends BaseRxTest {
@@ -116,7 +119,7 @@ public class RedissonTopicRxTest extends BaseRxTest {
for (int i = 0; i < 15; i++) {
sync(topic.publish("" + i));
}
-
- assertThat(list).containsExactly("0", "1", "2", "3", "4", "5", "6", "7", "8", "9");
+
+ Awaitility.waitAtMost(Duration.ofSeconds(10)).until(() -> list.equals(Arrays.asList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9")));
}
}