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