From 8cfde24f51ccc45aaf7f3176ecabddaaeeb41ee9 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 13:28:43 +0530 Subject: [PATCH 1/9] Refactor store factories for flexible event store injection Enhanced HazelcastStoreFactory, MemoryStoreFactory, and RedissonStoreFactory to allow explicit injection of custom EventStore implementations. Updated constructors, improved Javadoc, and clarified default behaviors for each factory. This enables hybrid configurations where session storage and event propagation backends can be mixed and matched independently. --- .../hazelcast/HazelcastStoreFactory.java | 74 ++++++++--- .../store/memory/MemoryStoreFactory.java | 49 +++++-- .../redis_pubsub/RedissonStoreFactory.java | 125 ++++++++++++++++-- 3 files changed, 207 insertions(+), 41 deletions(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index 9d97dab5..e12bd138 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -20,18 +20,30 @@ import java.util.Objects; import java.util.UUID; +import org.jetbrains.annotations.NotNull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.hazelcast.core.HazelcastInstance; -import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; +import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.EventStore; - +import com.socketio4j.socketio.store.event.EventStoreMode; /** - * WARN: It's necessary to add netty-socketio.jar in hazelcast server classpath. - * + * A {@code StoreFactory} implementation that provides session-scoped storage backed + * by Hazelcast and allows users to supply an {@link EventStore} of their choice. + *

+ * Session data is stored in Hazelcast via {@link HazelcastStore}, while event + * propagation is determined entirely by the provided {@link EventStore}. This + * design allows hybrid configurations such as: + *

+ *

+ * If no {@link EventStore} is supplied, {@link HazelcastEventStore} is used by default. */ public class HazelcastStoreFactory extends BaseStoreFactory { @@ -41,17 +53,34 @@ public class HazelcastStoreFactory extends BaseStoreFactory { private final EventStore eventStore; /** - * API 4.y.z - * @param hazelcastClient - * @param eventStore + * Creates a {@code HazelcastStoreFactory} using the provided Hazelcast instance and + * a caller-supplied {@link EventStore}. + * + * @apiNote Added in API version{@code 4.0.0} + * + * @param hazelcastClient non-null Hazelcast instance + * @param eventStore non-null event store implementation + * @throws NullPointerException if either argument is {@code null} */ - public HazelcastStoreFactory(HazelcastInstance hazelcastClient, EventStore eventStore) { - - Objects.requireNonNull(hazelcastClient, "hazelcastClient cannot be null"); - Objects.requireNonNull(eventStore, "eventStore cannot be null"); + public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient, + @NotNull EventStore eventStore) { + this.hazelcastClient = Objects.requireNonNull(hazelcastClient, "hazelcastClient cannot be null"); + this.eventStore = Objects.requireNonNull(eventStore, "eventStore cannot be null"); + } - this.hazelcastClient = hazelcastClient; - this.eventStore = eventStore; + /** + * Creates a {@code HazelcastStoreFactory} using default Hazelcast-backed event distribution. + *

+ * Session data remains in Hazelcast, while events are propagated via {@link HazelcastEventStore} + * in {@link EventStoreMode#MULTI_CHANNEL} mode. + * + * @apiNote Added in API version{@code 4.0.0} + * + * @param hazelcastClient non-null Hazelcast instance + */ + public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient) { + this(hazelcastClient, + new HazelcastEventStore(hazelcastClient, hazelcastClient, null, null, "")); } @Override @@ -60,14 +89,17 @@ public Store createStore(UUID sessionId) { } @Override - public void shutdown() { - eventStore.shutdown(); + public EventStore eventStore() { + return eventStore; } - @Override - public EventStore eventStore() { - return eventStore; + public void shutdown() { + try { + eventStore.shutdown(); + } catch (Exception e) { + log.error("Failed to shut down event store", e); + } } @Override @@ -75,4 +107,8 @@ public Map createMap(String name) { return hazelcastClient.getMap(name); } -} + @Override + public String toString() { + return getClass().getSimpleName() + " (Hazelcast session store)"; + } +} \ No newline at end of file diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java index dfb523d4..f4d3c185 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java @@ -21,22 +21,54 @@ import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import org.jetbrains.annotations.NotNull; + +import com.socketio4j.socketio.handler.AuthorizeHandler; +import com.socketio4j.socketio.namespace.NamespacesHub; +import com.socketio4j.socketio.protocol.JsonSupport; import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; import com.socketio4j.socketio.store.event.EventStore; +/** + * A {@code StoreFactory} implementation that provides per-session in-memory storage. + *

+ * Session data is stored locally in JVM memory via {@link MemoryStore}. Event propagation + * is determined entirely by the provided {@link EventStore}. This allows combinations like: + *

+ *

+ * If no {@link EventStore} is supplied, {@link MemoryEventStore} is used by default. + */ public class MemoryStoreFactory extends BaseStoreFactory { private final EventStore eventStore; + /** + * Creates a new {@code MemoryStoreFactory} using {@link MemoryEventStore}. + * Both session data and events remain local to the JVM. + * @apiNote Added in API version{@code 4.0.0} + */ public MemoryStoreFactory() { this.eventStore = new MemoryEventStore(); } - public MemoryStoreFactory(EventStore eventStore) { - Objects.requireNonNull(eventStore, "eventStore can not be null"); - this.eventStore = eventStore; + /** + * Creates a new {@code MemoryStoreFactory} using the provided {@link EventStore}. + * Session data remains local, but event propagation depends on the given implementation. + * + * @apiNote Added in API version{@code 4.0.0} + * + * @param eventStore non-null event store + * @throws NullPointerException if {@code eventStore} is {@code null} + */ + public MemoryStoreFactory(@NotNull EventStore eventStore) { + this.eventStore = Objects.requireNonNull(eventStore, "eventStore can not be null"); } + @Override public Store createStore(UUID sessionId) { return new MemoryStore(); @@ -47,13 +79,10 @@ public EventStore eventStore() { return eventStore; } - @Override - public void shutdown() { - } @Override - public String toString() { - return getClass().getSimpleName() + " (local session store only)"; + public void shutdown() { + // no-op } @Override @@ -61,4 +90,8 @@ public Map createMap(String name) { return new ConcurrentHashMap<>(); } + @Override + public String toString() { + return getClass().getSimpleName() + " (memory session store)"; + } } diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java index e94fb216..c41a25df 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java @@ -25,10 +25,84 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; +import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.EventStore; +import com.socketio4j.socketio.store.event.EventStoreMode; +/** + * {@code RedissonStoreFactory} provides session-scoped storage backed by Redis, + * using Redisson as the storage driver. Each connected session receives its own + * {@link RedissonStore}, allowing per-session key/value data to be shared across + * multiple nodes when running in a clustered environment. + *

+ * Event propagation is handled by the supplied {@link EventStore}. This design + * keeps storage and event distribution concerns separate, enabling flexible + * combinations such as: + *

+ * The choice of {@code EventStore} determines whether events are distributed or + * remain confined to a single JVM. Session data, however, is always backed by Redis + * and therefore visible across nodes that share the same Redis cluster. + * + *

Default Behavior

+ * When instantiated using {@link #RedissonStoreFactory(RedissonClient)}, this factory + * configures a {@link RedissonEventStore} in + * {@link com.socketio4j.socketio.store.event.EventStoreMode#MULTI_CHANNEL MULTI_CHANNEL} mode. + * Under this configuration: + * + * + *

Custom EventStore Usage

+ * Passing a custom {@link EventStore} allows hybrid topologies, such as: + *
{@code
+ * RedissonClient redis = Redisson.create();
+ * EventStore es = new KafkaEventStore(...);
+ *
+ * // Redis-backed session storage, Kafka event distribution
+ * RedissonStoreFactory factory = new RedissonStoreFactory(redis, es);
+ * }
+ * + *

Lifecycle

+ * + * Redis connections must be managed externally and are not closed by this factory. + * + *

Thread Safety

+ * This factory performs no concurrent operations itself. Thread-safety guarantees + * depend on the underlying {@link RedissonClient} and the selected {@link EventStore}. + * + *

Suitable For

+ * + * + *

Not Suitable For

+ * + * + *

Summary

+ *
+ * Session state is stored in Redis for cross-node access. Event distribution + * is determined entirely by the chosen {@link EventStore}. This factory allows + * storage and event systems to be configured independently. + *
+ */ public class RedissonStoreFactory extends BaseStoreFactory { @@ -38,17 +112,33 @@ public class RedissonStoreFactory extends BaseStoreFactory { private final EventStore eventStore; /** - * API 4.y.z - * @param redissonClient - * @param eventStore + * Creates a {@code RedissonStoreFactory} using the provided Redis client and + * user-supplied {@link EventStore}. Session data is stored via Redis, while the + * event store determines whether event propagation is local or distributed. + * + * @apiNote Added in API version{@code 4.0.0} + * + * @param redisClient non-null Redis client + * @param eventStore non-null event store implementation */ - public RedissonStoreFactory(@NotNull RedissonClient redissonClient, + public RedissonStoreFactory(@NotNull RedissonClient redisClient, @NotNull EventStore eventStore) { - Objects.requireNonNull(redissonClient, "redissonClient can not be null"); - Objects.requireNonNull(eventStore, "eventStore can not be null"); + this.redisClient = Objects.requireNonNull(redisClient, "redisClient cannot be null"); + this.eventStore = Objects.requireNonNull(eventStore, "eventStore cannot be null"); + } - this.redisClient = redissonClient; - this.eventStore = eventStore; + /** + * Creates a {@code RedissonStoreFactory} using default Redis-backed event distribution. + * Session data is stored in Redis, and events are propagated using {@link RedissonEventStore} + * in {@link EventStoreMode#MULTI_CHANNEL} mode. + * + * @apiNote Added in API version{@code 4.0.0} + * + * @param redisClient non-null Redis client + */ + public RedissonStoreFactory(@NotNull RedissonClient redisClient) { + this(redisClient, + new RedissonEventStore(redisClient, redisClient, EventStoreMode.MULTI_CHANNEL, null)); } @Override @@ -62,14 +152,21 @@ public EventStore eventStore() { } @Override - public void shutdown() { - eventStore.shutdown(); + public Map createMap(String name) { + return redisClient.getMap(name); } - @Override - public Map createMap(String name) { - return redisClient.getMap(name); + public void shutdown() { + try { + eventStore.shutdown(); + } catch (Exception e) { + log.error("Failed to shut down event store", e); + } } + @Override + public String toString() { + return getClass().getSimpleName() + " (redis session store)"; + } } From 781210be5e1e9f98f90b821013c2ec886926a982 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 13:38:23 +0530 Subject: [PATCH 2/9] checkstyle changes --- .../socketio4j/socketio/store/memory/MemoryStoreFactory.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java index f4d3c185..812cc3fa 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java @@ -23,9 +23,6 @@ import org.jetbrains.annotations.NotNull; -import com.socketio4j.socketio.handler.AuthorizeHandler; -import com.socketio4j.socketio.namespace.NamespacesHub; -import com.socketio4j.socketio.protocol.JsonSupport; import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; import com.socketio4j.socketio.store.event.EventStore; From 3ee3f128f4837ad34e2e8141b16deb0e9495ad27 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 14:18:28 +0530 Subject: [PATCH 3/9] check style changes --- .../socketio/store/hazelcast/HazelcastStoreFactory.java | 2 +- .../socketio/store/redis_pubsub/RedissonStoreFactory.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index e12bd138..9ea28cd3 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -26,9 +26,9 @@ import com.hazelcast.core.HazelcastInstance; import com.socketio4j.socketio.store.event.BaseStoreFactory; -import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.EventStore; import com.socketio4j.socketio.store.event.EventStoreMode; +import com.socketio4j.socketio.store.Store; /** * A {@code StoreFactory} implementation that provides session-scoped storage backed diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java index c41a25df..8c816120 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java @@ -26,9 +26,9 @@ import org.slf4j.LoggerFactory; import com.socketio4j.socketio.store.event.BaseStoreFactory; -import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.EventStore; import com.socketio4j.socketio.store.event.EventStoreMode; +import com.socketio4j.socketio.store.Store; /** * {@code RedissonStoreFactory} provides session-scoped storage backed by Redis, From 1f29339a986dd0774d4e32bbf0b90dbf2f4e55bf Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 15:13:54 +0530 Subject: [PATCH 4/9] order fix --- .../socketio/store/hazelcast/HazelcastStoreFactory.java | 2 +- .../socketio/store/redis_pubsub/RedissonStoreFactory.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index 9ea28cd3..03e9dba0 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -24,11 +24,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.socketio4j.socketio.store.Store; import com.hazelcast.core.HazelcastInstance; import com.socketio4j.socketio.store.event.BaseStoreFactory; import com.socketio4j.socketio.store.event.EventStore; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.Store; /** * A {@code StoreFactory} implementation that provides session-scoped storage backed diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java index 8c816120..71d0d87c 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java @@ -25,10 +25,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; import com.socketio4j.socketio.store.event.EventStore; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.Store; /** * {@code RedissonStoreFactory} provides session-scoped storage backed by Redis, From 9b3020a996ae8869bb1baef3c5b7c611dc4a1564 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 15:32:49 +0530 Subject: [PATCH 5/9] Update HazelcastStoreFactory.java --- .../socketio/store/hazelcast/HazelcastStoreFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index 03e9dba0..2ad2d8a0 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -24,8 +24,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.socketio4j.socketio.store.Store; import com.hazelcast.core.HazelcastInstance; +import com.socketio4j.socketio.store.Store; import com.socketio4j.socketio.store.event.BaseStoreFactory; import com.socketio4j.socketio.store.event.EventStore; import com.socketio4j.socketio.store.event.EventStoreMode; From b73a86a1f89f447080e59cf96d20e9db29ba65d0 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 17:11:17 +0530 Subject: [PATCH 6/9] typo changes --- .../socketio/store/hazelcast/HazelcastStoreFactory.java | 4 ++-- .../socketio4j/socketio/store/memory/MemoryStoreFactory.java | 4 ++-- .../socketio/store/redis_pubsub/RedissonStoreFactory.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index 2ad2d8a0..bdb596b3 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -56,7 +56,7 @@ public class HazelcastStoreFactory extends BaseStoreFactory { * Creates a {@code HazelcastStoreFactory} using the provided Hazelcast instance and * a caller-supplied {@link EventStore}. * - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} * * @param hazelcastClient non-null Hazelcast instance * @param eventStore non-null event store implementation @@ -74,7 +74,7 @@ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient, * Session data remains in Hazelcast, while events are propagated via {@link HazelcastEventStore} * in {@link EventStoreMode#MULTI_CHANNEL} mode. * - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} * * @param hazelcastClient non-null Hazelcast instance */ diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java index 812cc3fa..9da941b9 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/memory/MemoryStoreFactory.java @@ -47,7 +47,7 @@ public class MemoryStoreFactory extends BaseStoreFactory { /** * Creates a new {@code MemoryStoreFactory} using {@link MemoryEventStore}. * Both session data and events remain local to the JVM. - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} */ public MemoryStoreFactory() { this.eventStore = new MemoryEventStore(); @@ -57,7 +57,7 @@ public MemoryStoreFactory() { * Creates a new {@code MemoryStoreFactory} using the provided {@link EventStore}. * Session data remains local, but event propagation depends on the given implementation. * - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} * * @param eventStore non-null event store * @throws NullPointerException if {@code eventStore} is {@code null} diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java index 71d0d87c..7de60d75 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java @@ -116,7 +116,7 @@ public class RedissonStoreFactory extends BaseStoreFactory { * user-supplied {@link EventStore}. Session data is stored via Redis, while the * event store determines whether event propagation is local or distributed. * - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} * * @param redisClient non-null Redis client * @param eventStore non-null event store implementation @@ -132,7 +132,7 @@ public RedissonStoreFactory(@NotNull RedissonClient redisClient, * Session data is stored in Redis, and events are propagated using {@link RedissonEventStore} * in {@link EventStoreMode#MULTI_CHANNEL} mode. * - * @apiNote Added in API version{@code 4.0.0} + * @apiNote Added in API version {@code 4.0.0} * * @param redisClient non-null Redis client */ From 00c77b671f4b237f73fde27af50e4c8173aae02d Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 19:32:35 +0530 Subject: [PATCH 7/9] change api names to match documentation --- .../socketio4j/socketio/Configuration.java | 4 ++-- ...re.java => HazelcastPubSubEventStore.java} | 16 +++++++-------- .../hazelcast/HazelcastStoreFactory.java | 6 +++--- ... HazelcastPubSubRingBufferEventStore.java} | 10 +++++----- ...tStore.java => RedisPubSubEventStore.java} | 10 +++++----- .../{RedissonStore.java => RedisStore.java} | 4 ++-- ...oreFactory.java => RedisStoreFactory.java} | 20 +++++++++---------- ...ava => RedisPubSubReliableEventStore.java} | 10 +++++----- ...lcastPubSubMultiChannelUnReliableTest.java | 6 +++--- ...castPubSubSingleChannelUnreliableTest.java | 6 +++--- ...edHazelcastRingBufferMultiChannelTest.java | 6 +++--- ...dHazelcastRingBufferSingleChannelTest.java | 6 +++--- .../DistributedKafkaMultiChannelTest.java | 6 +++--- .../DistributedKafkaSingleChannelTest.java | 6 +++--- ...issonPubSubMultiChannelUnReliableTest.java | 12 +++++------ ...ssonPubSubSingleChannelUnreliableTest.java | 12 +++++------ ...butedRedissonReliableMultiChannelTest.java | 12 +++++------ ...utedRedissonReliableSingleChannelTest.java | 12 +++++------ ...ributedRedissonStreamMultiChannelTest.java | 6 +++--- ...ibutedRedissonStreamSingleChannelTest.java | 6 +++--- .../store/HazelcastStoreFactoryTest.java | 6 +++--- .../RedissonReliableStoreFactoryTest.java | 14 ++++++------- .../socketio/store/RedissonStoreTest.java | 4 ++-- .../HazelcastRingBufferEventStoreTest.java | 4 ++-- .../event/RedissonReliableEventStoreTest.java | 4 ++-- 25 files changed, 104 insertions(+), 104 deletions(-) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/{HazelcastEventStore.java => HazelcastPubSubEventStore.java} (93%) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/{HazelcastRingBufferEventStore.java => HazelcastPubSubRingBufferEventStore.java} (96%) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/{RedissonEventStore.java => RedisPubSubEventStore.java} (96%) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/{RedissonStore.java => RedisStore.java} (92%) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/{RedissonStoreFactory.java => RedisStoreFactory.java} (91%) rename netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/{RedissonReliableEventStore.java => RedisPubSubReliableEventStore.java} (97%) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/Configuration.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/Configuration.java index bd4ebe9f..ff80312b 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/Configuration.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/Configuration.java @@ -24,7 +24,7 @@ import com.socketio4j.socketio.store.StoreFactory; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; import com.socketio4j.socketio.store.memory.MemoryStoreFactory; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; import io.netty.handler.codec.http.HttpDecoderConfig; @@ -111,7 +111,7 @@ public void setJsonSupport(JsonSupport jsonSupport) { * @param clientStoreFactory - implements StoreFactory * * @see MemoryStoreFactory - * @see RedissonStoreFactory + * @see RedisStoreFactory * @see HazelcastStoreFactory */ public void setStoreFactory(StoreFactory clientStoreFactory) { diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastEventStore.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastPubSubEventStore.java similarity index 93% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastEventStore.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastPubSubEventStore.java index 53e3add3..6490c3b2 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastEventStore.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastPubSubEventStore.java @@ -38,7 +38,7 @@ import com.socketio4j.socketio.store.event.EventType; -public class HazelcastEventStore implements EventStore { +public class HazelcastPubSubEventStore implements EventStore { private final HazelcastInstance hazelcastPub; private final HazelcastInstance hazelcastSub; @@ -51,9 +51,9 @@ public class HazelcastEventStore implements EventStore { private final ConcurrentMap> activePubTopics = new ConcurrentHashMap<>(); private final ConcurrentMap> activeSubTopics = new ConcurrentHashMap<>(); - private static final Logger log = LoggerFactory.getLogger(HazelcastEventStore.class); + private static final Logger log = LoggerFactory.getLogger(HazelcastPubSubEventStore.class); - public HazelcastEventStore( + public HazelcastPubSubEventStore( @NotNull HazelcastInstance hazelcastPub, @NotNull HazelcastInstance hazelcastSub, @Nullable Long nodeId, @@ -178,17 +178,17 @@ public Builder(@NotNull HazelcastInstance hazelcastPub, // Optional setters (fluent) // -------------------------------------------------- - public HazelcastEventStore.Builder nodeId(long nodeId) { + public HazelcastPubSubEventStore.Builder nodeId(long nodeId) { this.nodeId = nodeId; return this; } - public HazelcastEventStore.Builder eventStoreMode(@NotNull EventStoreMode mode) { + public HazelcastPubSubEventStore.Builder eventStoreMode(@NotNull EventStoreMode mode) { this.eventStoreMode = Objects.requireNonNull(mode, "eventStoreMode"); return this; } - public HazelcastEventStore.Builder topicNamePrefix(@NotNull String prefix) { + public HazelcastPubSubEventStore.Builder topicNamePrefix(@NotNull String prefix) { if (prefix.isEmpty()) { throw new IllegalArgumentException("ringBufferNamePrefix cannot be empty"); } @@ -200,8 +200,8 @@ public HazelcastEventStore.Builder topicNamePrefix(@NotNull String prefix) { // Build // -------------------------------------------------- - public HazelcastEventStore build() { - return new HazelcastEventStore( + public HazelcastPubSubEventStore build() { + return new HazelcastPubSubEventStore( hazelcastPub, hazelcastSub, nodeId, diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index bdb596b3..4f7f24ba 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -43,7 +43,7 @@ *
  • Hazelcast session storage + in-memory event propagation (local only)
  • * *

    - * If no {@link EventStore} is supplied, {@link HazelcastEventStore} is used by default. + * If no {@link EventStore} is supplied, {@link HazelcastPubSubEventStore} is used by default. */ public class HazelcastStoreFactory extends BaseStoreFactory { @@ -71,7 +71,7 @@ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient, /** * Creates a {@code HazelcastStoreFactory} using default Hazelcast-backed event distribution. *

    - * Session data remains in Hazelcast, while events are propagated via {@link HazelcastEventStore} + * Session data remains in Hazelcast, while events are propagated via {@link HazelcastPubSubEventStore} * in {@link EventStoreMode#MULTI_CHANNEL} mode. * * @apiNote Added in API version {@code 4.0.0} @@ -80,7 +80,7 @@ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient, */ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient) { this(hazelcastClient, - new HazelcastEventStore(hazelcastClient, hazelcastClient, null, null, "")); + new HazelcastPubSubEventStore(hazelcastClient, hazelcastClient, null, null, "")); } @Override diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastRingBufferEventStore.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastPubSubRingBufferEventStore.java similarity index 96% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastRingBufferEventStore.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastPubSubRingBufferEventStore.java index 23115397..71ccaa8a 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastRingBufferEventStore.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast_ringbuffer/HazelcastPubSubRingBufferEventStore.java @@ -39,7 +39,7 @@ import com.socketio4j.socketio.store.event.EventType; -public class HazelcastRingBufferEventStore implements EventStore { +public class HazelcastPubSubRingBufferEventStore implements EventStore { private final HazelcastInstance hazelcastPub; private final HazelcastInstance hazelcastSub; @@ -50,12 +50,12 @@ public class HazelcastRingBufferEventStore implements EventStore { private final ConcurrentMap> activePubTopics = new ConcurrentHashMap<>(); private final ConcurrentMap> activeSubTopics = new ConcurrentHashMap<>(); - private static final Logger log = LoggerFactory.getLogger(HazelcastRingBufferEventStore.class); + private static final Logger log = LoggerFactory.getLogger(HazelcastPubSubRingBufferEventStore.class); private final String ringBufferNamePrefix; private static final String DEFAULT_RING_BUFFER_NAME_PREFIX = "SOCKETIO4J:"; - public HazelcastRingBufferEventStore( + public HazelcastPubSubRingBufferEventStore( @NotNull HazelcastInstance hazelcastPub, @NotNull HazelcastInstance hazelcastSub, @Nullable Long nodeId, @@ -210,8 +210,8 @@ public Builder ringBufferNamePrefix(@NotNull String prefix) { // Build // -------------------------------------------------- - public HazelcastRingBufferEventStore build() { - return new HazelcastRingBufferEventStore( + public HazelcastPubSubRingBufferEventStore build() { + return new HazelcastPubSubRingBufferEventStore( hazelcastPub, hazelcastSub, nodeId, diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonEventStore.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisPubSubEventStore.java similarity index 96% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonEventStore.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisPubSubEventStore.java index dd69adc4..0ff7861b 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonEventStore.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisPubSubEventStore.java @@ -40,7 +40,7 @@ * Unreliable Redis Pub/Sub based EventStore. * Events are ephemeral and not replayed. */ -public class RedissonEventStore implements EventStore { +public class RedisPubSubEventStore implements EventStore { private final RedissonClient redissonPub; private final RedissonClient redissonSub; @@ -51,7 +51,7 @@ public class RedissonEventStore implements EventStore { private final ConcurrentMap activeSubTopics = new ConcurrentHashMap<>(); private final ConcurrentMap activePubTopics = new ConcurrentHashMap<>(); - private static final Logger log = LoggerFactory.getLogger(RedissonEventStore.class); + private static final Logger log = LoggerFactory.getLogger(RedisPubSubEventStore.class); // ---------------------------------------------------------------------- // Constructors @@ -63,7 +63,7 @@ public class RedissonEventStore implements EventStore { * @param eventStoreMode * @param nodeId */ - public RedissonEventStore(@NotNull RedissonClient redissonPub, + public RedisPubSubEventStore(@NotNull RedissonClient redissonPub, @NotNull RedissonClient redissonSub, @Nullable EventStoreMode eventStoreMode, @Nullable Long nodeId) { @@ -187,8 +187,8 @@ public Builder eventStoreMode(@NotNull EventStoreMode mode) { // Build // ------------------------- - public RedissonEventStore build() { - return new RedissonEventStore( + public RedisPubSubEventStore build() { + return new RedisPubSubEventStore( redissonPub, redissonSub, eventStoreMode, diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStore.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStore.java similarity index 92% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStore.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStore.java index a0b83a90..1f438e88 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStore.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStore.java @@ -24,11 +24,11 @@ import com.socketio4j.socketio.store.Store; -public class RedissonStore implements Store { +public class RedisStore implements Store { private final RMap map; - public RedissonStore(UUID sessionId, RedissonClient redisson) { + public RedisStore(UUID sessionId, RedissonClient redisson) { this.map = redisson.getMap(sessionId.toString()); } diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java similarity index 91% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java index 7de60d75..b13a0c93 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedissonStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java @@ -33,7 +33,7 @@ /** * {@code RedissonStoreFactory} provides session-scoped storage backed by Redis, * using Redisson as the storage driver. Each connected session receives its own - * {@link RedissonStore}, allowing per-session key/value data to be shared across + * {@link RedisStore}, allowing per-session key/value data to be shared across * multiple nodes when running in a clustered environment. *

    * Event propagation is handled by the supplied {@link EventStore}. This design @@ -51,7 +51,7 @@ * *

    Default Behavior

    * When instantiated using {@link #RedissonStoreFactory(RedissonClient)}, this factory - * configures a {@link RedissonEventStore} in + * configures a {@link RedisPubSubEventStore} in * {@link com.socketio4j.socketio.store.event.EventStoreMode#MULTI_CHANNEL MULTI_CHANNEL} mode. * Under this configuration: *
      @@ -72,7 +72,7 @@ * *

      Lifecycle

      *
        - *
      • {@link #createStore(UUID)} returns a new distributed {@link RedissonStore}
      • + *
      • {@link #createStore(UUID)} returns a new distributed {@link RedisStore}
      • *
      • {@link #createMap(String)} returns a named Redis-backed map for shared state
      • *
      • {@link #shutdown()} gracefully shuts down the configured {@link EventStore}
      • *
      @@ -104,9 +104,9 @@ * */ -public class RedissonStoreFactory extends BaseStoreFactory { +public class RedisStoreFactory extends BaseStoreFactory { - private static final Logger log = LoggerFactory.getLogger(RedissonStoreFactory.class); + private static final Logger log = LoggerFactory.getLogger(RedisStoreFactory.class); private final RedissonClient redisClient; private final EventStore eventStore; @@ -121,7 +121,7 @@ public class RedissonStoreFactory extends BaseStoreFactory { * @param redisClient non-null Redis client * @param eventStore non-null event store implementation */ - public RedissonStoreFactory(@NotNull RedissonClient redisClient, + public RedisStoreFactory(@NotNull RedissonClient redisClient, @NotNull EventStore eventStore) { this.redisClient = Objects.requireNonNull(redisClient, "redisClient cannot be null"); this.eventStore = Objects.requireNonNull(eventStore, "eventStore cannot be null"); @@ -129,21 +129,21 @@ public RedissonStoreFactory(@NotNull RedissonClient redisClient, /** * Creates a {@code RedissonStoreFactory} using default Redis-backed event distribution. - * Session data is stored in Redis, and events are propagated using {@link RedissonEventStore} + * Session data is stored in Redis, and events are propagated using {@link RedisPubSubEventStore} * in {@link EventStoreMode#MULTI_CHANNEL} mode. * * @apiNote Added in API version {@code 4.0.0} * * @param redisClient non-null Redis client */ - public RedissonStoreFactory(@NotNull RedissonClient redisClient) { + public RedisStoreFactory(@NotNull RedissonClient redisClient) { this(redisClient, - new RedissonEventStore(redisClient, redisClient, EventStoreMode.MULTI_CHANNEL, null)); + new RedisPubSubEventStore(redisClient, redisClient, EventStoreMode.MULTI_CHANNEL, null)); } @Override public Store createStore(UUID sessionId) { - return new RedissonStore(sessionId, redisClient); + return new RedisStore(sessionId, redisClient); } @Override diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedissonReliableEventStore.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedisPubSubReliableEventStore.java similarity index 97% rename from netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedissonReliableEventStore.java rename to netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedisPubSubReliableEventStore.java index 4d7423b3..38ed8499 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedissonReliableEventStore.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_reliable/RedisPubSubReliableEventStore.java @@ -44,7 +44,7 @@ import com.socketio4j.socketio.store.event.EventType; import com.socketio4j.socketio.store.event.PublishMode; -public class RedissonReliableEventStore implements EventStore { +public class RedisPubSubReliableEventStore implements EventStore { private final RedissonClient redissonPub; private final RedissonClient redissonSub; @@ -60,7 +60,7 @@ public class RedissonReliableEventStore implements EventStore { private final ConcurrentMap activeSubTopics = new ConcurrentHashMap<>(); private final ConcurrentMap activePubTopics = new ConcurrentHashMap<>(); private final ConcurrentMap> trimTopics = new ConcurrentHashMap<>(); - private static final Logger log = LoggerFactory.getLogger(RedissonReliableEventStore.class); + private static final Logger log = LoggerFactory.getLogger(RedisPubSubReliableEventStore.class); // ---------------------------------------------------------------------- @@ -68,7 +68,7 @@ public class RedissonReliableEventStore implements EventStore { // ---------------------------------------------------------------------- - public RedissonReliableEventStore(@NotNull RedissonClient redissonPub, + public RedisPubSubReliableEventStore(@NotNull RedissonClient redissonPub, @NotNull RedissonClient redissonSub, @Nullable Long nodeId, EventStoreMode eventStoreMode, @Nullable String streamNamePrefix, @@ -363,8 +363,8 @@ public Builder trimEvery(@NotNull Duration duration) { // Build // ------------------------- - public RedissonReliableEventStore build() { - return new RedissonReliableEventStore( + public RedisPubSubReliableEventStore build() { + return new RedisPubSubReliableEventStore( redissonPub, redissonSub, nodeId, diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubMultiChannelUnReliableTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubMultiChannelUnReliableTest.java index 891fef60..31c448c7 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubMultiChannelUnReliableTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubMultiChannelUnReliableTest.java @@ -34,7 +34,7 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedHazelcastContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.hazelcast.HazelcastEventStore; +import com.socketio4j.socketio.store.hazelcast.HazelcastPubSubEventStore; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; @@ -75,7 +75,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory(new HazelcastStoreFactory( - hazelcastClient, new HazelcastEventStore.Builder(hazelcastClient).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + hazelcastClient, new HazelcastPubSubEventStore.Builder(hazelcastClient).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -122,7 +122,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory(new HazelcastStoreFactory( - hazelcastClient1, new HazelcastEventStore.Builder(hazelcastClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build())); + hazelcastClient1, new HazelcastPubSubEventStore.Builder(hazelcastClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build())); node2 = new SocketIOServer(cfg2); node2.addEventListener("join-room", String.class, (c, room, ack) -> { diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubSingleChannelUnreliableTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubSingleChannelUnreliableTest.java index bd06df5f..c5956b4e 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubSingleChannelUnreliableTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastPubSubSingleChannelUnreliableTest.java @@ -34,7 +34,7 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedHazelcastContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.hazelcast.HazelcastEventStore; +import com.socketio4j.socketio.store.hazelcast.HazelcastPubSubEventStore; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; @@ -75,7 +75,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance, new HazelcastEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + hazelcastInstance, new HazelcastPubSubEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -120,7 +120,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance1, new HazelcastEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + hazelcastInstance1, new HazelcastPubSubEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); node2.addEventListener("join-room", String.class, (c, room, ack) -> { diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferMultiChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferMultiChannelTest.java index d66e1ead..c57775e5 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferMultiChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferMultiChannelTest.java @@ -35,7 +35,7 @@ import com.socketio4j.socketio.store.CustomizedHazelcastContainer; import com.socketio4j.socketio.store.event.EventStoreMode; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; -import com.socketio4j.socketio.store.hazelcast_ringbuffer.HazelcastRingBufferEventStore; +import com.socketio4j.socketio.store.hazelcast_ringbuffer.HazelcastPubSubRingBufferEventStore; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -75,7 +75,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance, new HazelcastRingBufferEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + hazelcastInstance, new HazelcastPubSubRingBufferEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -120,7 +120,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance1, new HazelcastRingBufferEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + hazelcastInstance1, new HazelcastPubSubRingBufferEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferSingleChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferSingleChannelTest.java index 30593a42..fcd64d24 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferSingleChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedHazelcastRingBufferSingleChannelTest.java @@ -35,7 +35,7 @@ import com.socketio4j.socketio.store.CustomizedHazelcastContainer; import com.socketio4j.socketio.store.event.EventStoreMode; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; -import com.socketio4j.socketio.store.hazelcast_ringbuffer.HazelcastRingBufferEventStore; +import com.socketio4j.socketio.store.hazelcast_ringbuffer.HazelcastPubSubRingBufferEventStore; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -75,7 +75,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance, new HazelcastRingBufferEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + hazelcastInstance, new HazelcastPubSubRingBufferEventStore.Builder(hazelcastInstance).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -120,7 +120,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory(new HazelcastStoreFactory( - hazelcastInstance1, new HazelcastRingBufferEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + hazelcastInstance1, new HazelcastPubSubRingBufferEventStore.Builder(hazelcastInstance1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaMultiChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaMultiChannelTest.java index ee224050..4d8fd5e1 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaMultiChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaMultiChannelTest.java @@ -49,7 +49,7 @@ import com.socketio4j.socketio.store.kafka.KafkaEventStore; import com.socketio4j.socketio.store.kafka.serialization.EventMessageDeserializer; import com.socketio4j.socketio.store.kafka.serialization.EventMessageSerializer; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class DistributedKafkaMultiChannelTest extends DistributedCommonTest { @@ -95,7 +95,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory( - new RedissonStoreFactory(redisClient1, + new RedisStoreFactory(redisClient1, kafkaEventStore(bootstrap, "node1") ) ); @@ -142,7 +142,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory( - new RedissonStoreFactory(redisClient2, + new RedisStoreFactory(redisClient2, kafkaEventStore(bootstrap, "node2") ) ); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaSingleChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaSingleChannelTest.java index ca972e0c..257a25b0 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaSingleChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedKafkaSingleChannelTest.java @@ -49,7 +49,7 @@ import com.socketio4j.socketio.store.kafka.KafkaEventStore; import com.socketio4j.socketio.store.kafka.serialization.EventMessageDeserializer; import com.socketio4j.socketio.store.kafka.serialization.EventMessageSerializer; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class DistributedKafkaSingleChannelTest extends DistributedCommonTest { @@ -94,7 +94,7 @@ public void setup() throws Exception { cfg1.setPort(findAvailablePort()); cfg1.setStoreFactory( - new RedissonStoreFactory(redisClient1, + new RedisStoreFactory(redisClient1, kafkaEventStore(bootstrap, "node1") ) ); @@ -141,7 +141,7 @@ public void setup() throws Exception { cfg2.setPort(findAvailablePort()); cfg2.setStoreFactory( - new RedissonStoreFactory(redisClient2, + new RedisStoreFactory(redisClient2, kafkaEventStore(bootstrap, "node2") ) ); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubMultiChannelUnReliableTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubMultiChannelUnReliableTest.java index 063a6fb5..e0a06aae 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubMultiChannelUnReliableTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubMultiChannelUnReliableTest.java @@ -34,8 +34,8 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonEventStore; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -68,8 +68,8 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( - redisClient1, new RedissonEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + cfg1.setStoreFactory(new RedisStoreFactory( + redisClient1, new RedisPubSubEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -113,8 +113,8 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( - redisClient2, new RedissonEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + cfg2.setStoreFactory(new RedisStoreFactory( + redisClient2, new RedisPubSubEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubSingleChannelUnreliableTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubSingleChannelUnreliableTest.java index ce2ef5da..95d79d9b 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubSingleChannelUnreliableTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonPubSubSingleChannelUnreliableTest.java @@ -34,8 +34,8 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonEventStore; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -68,8 +68,8 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( - redisClient1, new RedissonEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + cfg1.setStoreFactory(new RedisStoreFactory( + redisClient1, new RedisPubSubEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -113,8 +113,8 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( - redisClient2, new RedissonEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + cfg2.setStoreFactory(new RedisStoreFactory( + redisClient2, new RedisPubSubEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableMultiChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableMultiChannelTest.java index 0d8179dd..8b91c6c0 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableMultiChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableMultiChannelTest.java @@ -34,8 +34,8 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; -import com.socketio4j.socketio.store.redis_reliable.RedissonReliableEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; +import com.socketio4j.socketio.store.redis_reliable.RedisPubSubReliableEventStore; @TestInstance(TestInstance.Lifecycle.PER_CLASS) @@ -68,9 +68,9 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( + cfg1.setStoreFactory(new RedisStoreFactory( redisClient1, - new RedissonReliableEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + new RedisPubSubReliableEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -114,9 +114,9 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( + cfg2.setStoreFactory(new RedisStoreFactory( redisClient2, - new RedissonReliableEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() + new RedisPubSubReliableEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableSingleChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableSingleChannelTest.java index 1b025076..30881415 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableSingleChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonReliableSingleChannelTest.java @@ -34,8 +34,8 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; -import com.socketio4j.socketio.store.redis_reliable.RedissonReliableEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; +import com.socketio4j.socketio.store.redis_reliable.RedisPubSubReliableEventStore; @@ -69,8 +69,8 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( - redisClient1, new RedissonReliableEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + cfg1.setStoreFactory(new RedisStoreFactory( + redisClient1, new RedisPubSubReliableEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node1 = new SocketIOServer(cfg1); @@ -114,8 +114,8 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( - redisClient2, new RedissonReliableEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() + cfg2.setStoreFactory(new RedisStoreFactory( + redisClient2, new RedisPubSubReliableEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); node2 = new SocketIOServer(cfg2); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamMultiChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamMultiChannelTest.java index 7e436114..6e7e6e6d 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamMultiChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamMultiChannelTest.java @@ -34,7 +34,7 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; import com.socketio4j.socketio.store.redis_stream.RedisStreamEventStore; @@ -68,7 +68,7 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( + cfg1.setStoreFactory(new RedisStoreFactory( redisClient1, new RedisStreamEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); @@ -114,7 +114,7 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( + cfg2.setStoreFactory(new RedisStoreFactory( redisClient2, new RedisStreamEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.MULTI_CHANNEL).build() )); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamSingleChannelTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamSingleChannelTest.java index 3c99c61d..c7db3c05 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamSingleChannelTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/integration/DistributedRedissonStreamSingleChannelTest.java @@ -34,7 +34,7 @@ import com.socketio4j.socketio.SocketIOServer; import com.socketio4j.socketio.store.CustomizedRedisContainer; import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; import com.socketio4j.socketio.store.redis_stream.RedisStreamEventStore; @@ -68,7 +68,7 @@ public void setup() throws Exception { cfg1.setHostname("127.0.0.1"); cfg1.setPort(findAvailablePort()); - cfg1.setStoreFactory(new RedissonStoreFactory( + cfg1.setStoreFactory(new RedisStoreFactory( redisClient1, new RedisStreamEventStore.Builder(redisClient1).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); @@ -113,7 +113,7 @@ public void setup() throws Exception { cfg2.setHostname("127.0.0.1"); cfg2.setPort(findAvailablePort()); - cfg2.setStoreFactory(new RedissonStoreFactory( + cfg2.setStoreFactory(new RedisStoreFactory( redisClient2, new RedisStreamEventStore.Builder(redisClient2).eventStoreMode(EventStoreMode.SINGLE_CHANNEL).build() )); diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/HazelcastStoreFactoryTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/HazelcastStoreFactoryTest.java index aa14465c..388b7561 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/HazelcastStoreFactoryTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/HazelcastStoreFactoryTest.java @@ -32,7 +32,7 @@ import com.hazelcast.map.IMap; import com.socketio4j.socketio.handler.ClientHead; import com.socketio4j.socketio.store.event.EventStore; -import com.socketio4j.socketio.store.hazelcast.HazelcastEventStore; +import com.socketio4j.socketio.store.hazelcast.HazelcastPubSubEventStore; import com.socketio4j.socketio.store.hazelcast.HazelcastStore; import com.socketio4j.socketio.store.hazelcast.HazelcastStoreFactory; @@ -67,7 +67,7 @@ protected StoreFactory createStoreFactory() throws Exception { hazelcastInstance = HazelcastClient.newHazelcastClient(config); return new HazelcastStoreFactory(hazelcastInstance, - new HazelcastEventStore.Builder(hazelcastInstance).build() + new HazelcastPubSubEventStore.Builder(hazelcastInstance).build() ); } @@ -111,7 +111,7 @@ public void testHazelcastEventStore() { EventStore eventStore = storeFactory.eventStore(); assertNotNull(eventStore, "EventStore should not be null"); - assertInstanceOf(HazelcastEventStore.class, eventStore, "EventStore should be HazelcastStore"); + assertInstanceOf(HazelcastPubSubEventStore.class, eventStore, "EventStore should be HazelcastStore"); } @Test diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java index e20ff37f..ab526505 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java @@ -21,9 +21,9 @@ import com.socketio4j.socketio.store.event.EventStoreMode; import com.socketio4j.socketio.store.event.PublishConfig; -import com.socketio4j.socketio.store.redis_pubsub.RedissonEventStore; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStore; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStoreFactory; +import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; @@ -63,8 +63,8 @@ protected StoreFactory createStoreFactory() throws Exception { .setAddress("redis://" + customizedRedisContainer.getHost() + ":" + customizedRedisContainer.getRedisPort()); redissonClient = Redisson.create(config); - return new RedissonStoreFactory(redissonClient, - new RedissonEventStore.Builder(redissonClient).build()); + return new RedisStoreFactory(redissonClient, + new RedisPubSubEventStore.Builder(redissonClient).build()); } @AfterEach @@ -95,7 +95,7 @@ public void testRedissonSpecificFeatures() { Store store = storeFactory.createStore(sessionId); assertNotNull(store, "Store should not be null"); - assertTrue(store instanceof RedissonStore, "Store should be RedissonStore"); + assertTrue(store instanceof RedisStore, "Store should be RedissonStore"); // Test that the store works with Redisson store.set("redissonKey", "redissonValue"); @@ -107,7 +107,7 @@ public void testRedissonEventStore() { EventStore eventStore = storeFactory.eventStore(); assertNotNull(eventStore, "PubSubStore should not be null"); - assertTrue(eventStore instanceof RedissonEventStore, "PubSubStore should be RedissonPubSubStore"); + assertTrue(eventStore instanceof RedisPubSubEventStore, "PubSubStore should be RedissonPubSubStore"); } @Test diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonStoreTest.java index aac28787..afd5ab3f 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonStoreTest.java @@ -18,7 +18,7 @@ import java.util.UUID; -import com.socketio4j.socketio.store.redis_pubsub.RedissonStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisStore; import org.junit.jupiter.api.Test; import org.redisson.Redisson; import org.redisson.api.RedissonClient; @@ -51,7 +51,7 @@ protected Store createStore(UUID sessionId) throws Exception { .setAddress("redis://" + customizedRedisContainer.getHost() + ":" + customizedRedisContainer.getRedisPort()); redissonClient = Redisson.create(config); - return new RedissonStore(sessionId, redissonClient); + return new RedisStore(sessionId, redissonClient); } @Override diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java index 140230c3..acbf57a0 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java @@ -23,7 +23,7 @@ import com.hazelcast.client.config.ClientConfig; import com.hazelcast.core.HazelcastInstance; import com.socketio4j.socketio.store.CustomizedHazelcastContainer; -import com.socketio4j.socketio.store.hazelcast.HazelcastEventStore; +import com.socketio4j.socketio.store.hazelcast.HazelcastPubSubEventStore; /** * Test class for HazelcastPubSubStore using testcontainers @@ -51,7 +51,7 @@ protected EventStore createEventStore(Long nodeId) throws Exception { hazelcastPub = HazelcastClient.newHazelcastClient(config); hazelcastSub = HazelcastClient.newHazelcastClient(config); - return new HazelcastEventStore.Builder(hazelcastPub, hazelcastSub).nodeId(nodeId).build(); + return new HazelcastPubSubEventStore.Builder(hazelcastPub, hazelcastSub).nodeId(nodeId).build(); } @Override diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java index cfd5f5c5..d5d6b626 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java @@ -22,7 +22,7 @@ import org.testcontainers.containers.GenericContainer; import com.socketio4j.socketio.store.CustomizedRedisContainer; -import com.socketio4j.socketio.store.redis_pubsub.RedissonEventStore; +import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; /** * Test class for RedissonReliableEventStore using testcontainers @@ -46,7 +46,7 @@ protected EventStore createEventStore(Long nodeId) throws Exception { redissonPub = Redisson.create(config); redissonSub = Redisson.create(config); - return new RedissonEventStore(redissonPub, redissonSub, EventStoreMode.MULTI_CHANNEL, nodeId); + return new RedisPubSubEventStore(redissonPub, redissonSub, EventStoreMode.MULTI_CHANNEL, nodeId); } @Override From f921161f9e6ceca6a77e6cc16ce7b3bc66b1c398 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 21:07:07 +0530 Subject: [PATCH 8/9] review changes --- .../store/hazelcast/HazelcastStoreFactory.java | 2 +- .../socketio/store/redis_pubsub/RedisStoreFactory.java | 10 +++++----- .../store/RedissonReliableStoreFactoryTest.java | 6 ++---- .../store/event/HazelcastRingBufferEventStoreTest.java | 1 - ...bleEventStoreTest.java => RedisEventStoreTest.java} | 2 +- 5 files changed, 9 insertions(+), 12 deletions(-) rename netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/{RedissonReliableEventStoreTest.java => RedisEventStoreTest.java} (96%) diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java index 4f7f24ba..fef1d89e 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/hazelcast/HazelcastStoreFactory.java @@ -80,7 +80,7 @@ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient, */ public HazelcastStoreFactory(@NotNull HazelcastInstance hazelcastClient) { this(hazelcastClient, - new HazelcastPubSubEventStore(hazelcastClient, hazelcastClient, null, null, "")); + new HazelcastPubSubEventStore(hazelcastClient, hazelcastClient, null, null, null)); } @Override diff --git a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java index b13a0c93..c18e55b4 100644 --- a/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java +++ b/netty-socketio-core/src/main/java/com/socketio4j/socketio/store/redis_pubsub/RedisStoreFactory.java @@ -31,7 +31,7 @@ import com.socketio4j.socketio.store.event.EventStoreMode; /** - * {@code RedissonStoreFactory} provides session-scoped storage backed by Redis, + * {@code RedisStoreFactory} provides session-scoped storage backed by Redis, * using Redisson as the storage driver. Each connected session receives its own * {@link RedisStore}, allowing per-session key/value data to be shared across * multiple nodes when running in a clustered environment. @@ -50,7 +50,7 @@ * and therefore visible across nodes that share the same Redis cluster. * *

      Default Behavior

      - * When instantiated using {@link #RedissonStoreFactory(RedissonClient)}, this factory + * When instantiated using {@link #RedisStoreFactory(RedissonClient)}, this factory * configures a {@link RedisPubSubEventStore} in * {@link com.socketio4j.socketio.store.event.EventStoreMode#MULTI_CHANNEL MULTI_CHANNEL} mode. * Under this configuration: @@ -67,7 +67,7 @@ * EventStore es = new KafkaEventStore(...); * * // Redis-backed session storage, Kafka event distribution - * RedissonStoreFactory factory = new RedissonStoreFactory(redis, es); + * RedisStoreFactory factory = new RedisStoreFactory(redis, es); * } * *

      Lifecycle

      @@ -112,7 +112,7 @@ public class RedisStoreFactory extends BaseStoreFactory { private final EventStore eventStore; /** - * Creates a {@code RedissonStoreFactory} using the provided Redis client and + * Creates a {@code RedisStoreFactory} using the provided Redis client and * user-supplied {@link EventStore}. Session data is stored via Redis, while the * event store determines whether event propagation is local or distributed. * @@ -128,7 +128,7 @@ public RedisStoreFactory(@NotNull RedissonClient redisClient, } /** - * Creates a {@code RedissonStoreFactory} using default Redis-backed event distribution. + * Creates a {@code RedisStoreFactory} using default Redis-backed event distribution. * Session data is stored in Redis, and events are propagated using {@link RedisPubSubEventStore} * in {@link EventStoreMode#MULTI_CHANNEL} mode. * diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java index ab526505..0892f174 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/RedissonReliableStoreFactoryTest.java @@ -19,8 +19,6 @@ import java.util.Map; import java.util.UUID; -import com.socketio4j.socketio.store.event.EventStoreMode; -import com.socketio4j.socketio.store.event.PublishConfig; import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; import com.socketio4j.socketio.store.redis_pubsub.RedisStore; import com.socketio4j.socketio.store.redis_pubsub.RedisStoreFactory; @@ -95,7 +93,7 @@ public void testRedissonSpecificFeatures() { Store store = storeFactory.createStore(sessionId); assertNotNull(store, "Store should not be null"); - assertTrue(store instanceof RedisStore, "Store should be RedissonStore"); + assertTrue(store instanceof RedisStore, "Store should be RedisStore"); // Test that the store works with Redisson store.set("redissonKey", "redissonValue"); @@ -107,7 +105,7 @@ public void testRedissonEventStore() { EventStore eventStore = storeFactory.eventStore(); assertNotNull(eventStore, "PubSubStore should not be null"); - assertTrue(eventStore instanceof RedisPubSubEventStore, "PubSubStore should be RedissonPubSubStore"); + assertTrue(eventStore instanceof RedisPubSubEventStore, "PubSubStore should be RedisPubSubEventStore"); } @Test diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java index acbf57a0..16bb5c7f 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/HazelcastRingBufferEventStoreTest.java @@ -16,7 +16,6 @@ */ package com.socketio4j.socketio.store.event; -import org.junit.jupiter.api.TestInstance; import org.testcontainers.containers.GenericContainer; import com.hazelcast.client.HazelcastClient; diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java similarity index 96% rename from netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java rename to netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java index d5d6b626..bdd05f74 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedissonReliableEventStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java @@ -27,7 +27,7 @@ /** * Test class for RedissonReliableEventStore using testcontainers */ -public class RedissonReliableEventStoreTest extends AbstractEventStoreTest { +public class RedisEventStoreTest extends AbstractEventStoreTest { private RedissonClient redissonPub; private RedissonClient redissonSub; From fba89ba215718735e2348d25f2a339882d75d7a7 Mon Sep 17 00:00:00 2001 From: sanjomo Date: Thu, 1 Jan 2026 21:17:22 +0530 Subject: [PATCH 9/9] review changes --- ...edisEventStoreTest.java => RedisPubSubEventStoreTest.java} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/{RedisEventStoreTest.java => RedisPubSubEventStoreTest.java} (94%) diff --git a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisPubSubEventStoreTest.java similarity index 94% rename from netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java rename to netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisPubSubEventStoreTest.java index bdd05f74..4493a327 100644 --- a/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisEventStoreTest.java +++ b/netty-socketio-core/src/test/java/com/socketio4j/socketio/store/event/RedisPubSubEventStoreTest.java @@ -25,9 +25,9 @@ import com.socketio4j.socketio.store.redis_pubsub.RedisPubSubEventStore; /** - * Test class for RedissonReliableEventStore using testcontainers + * Test class for RedisPubSubEventStoreTest using testcontainers */ -public class RedisEventStoreTest extends AbstractEventStoreTest { +public class RedisPubSubEventStoreTest extends AbstractEventStoreTest { private RedissonClient redissonPub; private RedissonClient redissonSub;