diff --git a/pom.xml b/pom.xml index cffff8d74..65f5a69ad 100644 --- a/pom.xml +++ b/pom.xml @@ -230,8 +230,8 @@ com.hazelcast - hazelcast-client - 3.12.12 + hazelcast + 5.3.8 provided diff --git a/src/main/java/com/corundumstudio/socketio/store/HazelcastPubSubStore.java b/src/main/java/com/corundumstudio/socketio/store/HazelcastPubSubStore.java index 9dcf87e5f..3f07d8aad 100644 --- a/src/main/java/com/corundumstudio/socketio/store/HazelcastPubSubStore.java +++ b/src/main/java/com/corundumstudio/socketio/store/HazelcastPubSubStore.java @@ -18,6 +18,7 @@ import io.netty.util.internal.PlatformDependent; import java.util.Queue; +import java.util.UUID; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentMap; @@ -26,9 +27,7 @@ import com.corundumstudio.socketio.store.pubsub.PubSubStore; import com.corundumstudio.socketio.store.pubsub.PubSubType; import com.hazelcast.core.HazelcastInstance; -import com.hazelcast.core.ITopic; -import com.hazelcast.core.Message; -import com.hazelcast.core.MessageListener; +import com.hazelcast.topic.ITopic; public class HazelcastPubSubStore implements PubSubStore { @@ -55,13 +54,10 @@ public void publish(PubSubType type, PubSubMessage msg) { public void subscribe(PubSubType type, final PubSubListener listener, Class clazz) { String name = type.toString(); ITopic topic = hazelcastSub.getTopic(name); - String regId = topic.addMessageListener(new MessageListener() { - @Override - public void onMessage(Message message) { - PubSubMessage msg = message.getMessageObject(); - if (!nodeId.equals(msg.getNodeId())) { - listener.onMessage(message.getMessageObject()); - } + UUID regId = topic.addMessageListener(message -> { + PubSubMessage msg = message.getMessageObject(); + if (!nodeId.equals(msg.getNodeId())) { + listener.onMessage(message.getMessageObject()); } }); @@ -73,7 +69,7 @@ public void onMessage(Message message) { list = oldList; } } - list.add(regId); + list.add(regId.toString()); } @Override @@ -82,7 +78,7 @@ public void unsubscribe(PubSubType type) { Queue regIds = map.remove(name); ITopic topic = hazelcastSub.getTopic(name); for (String id : regIds) { - topic.removeMessageListener(id); + topic.removeMessageListener(UUID.fromString(id)); } } diff --git a/src/main/java/com/corundumstudio/socketio/store/HazelcastStore.java b/src/main/java/com/corundumstudio/socketio/store/HazelcastStore.java index e63b084d1..69bde5052 100644 --- a/src/main/java/com/corundumstudio/socketio/store/HazelcastStore.java +++ b/src/main/java/com/corundumstudio/socketio/store/HazelcastStore.java @@ -18,7 +18,7 @@ import java.util.UUID; import com.hazelcast.core.HazelcastInstance; -import com.hazelcast.core.IMap; +import com.hazelcast.map.IMap; public class HazelcastStore implements Store { diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index eceaa0e5b..58a28638b 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -17,7 +17,6 @@ requires com.fasterxml.jackson.databind; requires static com.hazelcast.core; - requires static com.hazelcast.client; requires static redisson;