🎨 websocket-starter 与redis 解耦将默认注册的消息分发器由 redis 改为 local,基于内存分发,可通过 ballcat.websocket.message-distributor 属性修改为 redis 或者自定义。

This commit is contained in:
b2baccline
2021-09-25 17:53:43 +08:00
parent 1f29af2daa
commit 802319d658
9 changed files with 147 additions and 35 deletions

View File

@@ -16,10 +16,6 @@
<groupId>com.hccake</groupId>
<artifactId>ballcat-common-util</artifactId>
</dependency>
<dependency>
<groupId>com.hccake</groupId>
<artifactId>ballcat-common-redis</artifactId>
</dependency>
<!-- slf4j日志 -->
<dependency>
<groupId>org.slf4j</groupId>
@@ -29,6 +25,12 @@
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
</dependency>
</dependencies>
<!-- spring-data-redis 非必选依赖 -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>

View File

@@ -1,12 +1,10 @@
package com.hccake.ballcat.common.websocket.distribute;
import com.hccake.ballcat.common.redis.listener.MessageEventListener;
import com.hccake.ballcat.common.util.JsonUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.listener.ChannelTopic;
import org.springframework.data.redis.listener.Topic;
import org.springframework.data.redis.serializer.RedisSerializer;
/**
@@ -16,7 +14,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
* @version 1.0
*/
@RequiredArgsConstructor
public class RedisWebsocketMessageListener implements MessageEventListener, MessageSender {
public class RedisWebsocketMessageListener implements MessageListener, MessageSender {
public static final String CHANNEL = "websocket-send";
@@ -37,9 +35,4 @@ public class RedisWebsocketMessageListener implements MessageEventListener, Mess
}
}
@Override
public Topic topic() {
return new ChannelTopic(CHANNEL);
}
}