Commit e1c34e912458abaae2cde27c85e0e2bb00b785a6
1 parent
f8ed0e15
mq:优化 redis stream 的命名
Showing
8 changed files
with
21 additions
and
20 deletions
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/config/YudaoRedisMQAutoConfiguration.java
| ... | ... | @@ -7,8 +7,8 @@ import cn.iocoder.yudao.framework.common.enums.DocumentEnum; |
| 7 | 7 | import cn.iocoder.yudao.framework.mq.redis.core.RedisMQTemplate; |
| 8 | 8 | import cn.iocoder.yudao.framework.mq.redis.core.interceptor.RedisMessageInterceptor; |
| 9 | 9 | import cn.iocoder.yudao.framework.mq.redis.core.job.RedisPendingMessageResendJob; |
| 10 | -import cn.iocoder.yudao.framework.mq.redis.core.pubsub.AbstractChannelMessageListener; | |
| 11 | -import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractStreamMessageListener; | |
| 10 | +import cn.iocoder.yudao.framework.mq.redis.core.pubsub.AbstractRedisChannelMessageListener; | |
| 11 | +import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractRedisStreamMessageListener; | |
| 12 | 12 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; |
| 13 | 13 | import lombok.extern.slf4j.Slf4j; |
| 14 | 14 | import org.redisson.api.RedissonClient; |
| ... | ... | @@ -57,9 +57,9 @@ public class YudaoRedisMQAutoConfiguration { |
| 57 | 57 | * 创建 Redis Pub/Sub 广播消费的容器 |
| 58 | 58 | */ |
| 59 | 59 | @Bean(initMethod = "start", destroyMethod = "stop") |
| 60 | - @ConditionalOnBean(AbstractChannelMessageListener.class) // 只有 AbstractChannelMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 60 | + @ConditionalOnBean(AbstractRedisChannelMessageListener.class) // 只有 AbstractChannelMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 61 | 61 | public RedisMessageListenerContainer redisMessageListenerContainer( |
| 62 | - RedisMQTemplate redisMQTemplate, List<AbstractChannelMessageListener<?>> listeners) { | |
| 62 | + RedisMQTemplate redisMQTemplate, List<AbstractRedisChannelMessageListener<?>> listeners) { | |
| 63 | 63 | // 创建 RedisMessageListenerContainer 对象 |
| 64 | 64 | RedisMessageListenerContainer container = new RedisMessageListenerContainer(); |
| 65 | 65 | // 设置 RedisConnection 工厂。 |
| ... | ... | @@ -78,8 +78,8 @@ public class YudaoRedisMQAutoConfiguration { |
| 78 | 78 | * 创建 Redis Stream 重新消费的任务 |
| 79 | 79 | */ |
| 80 | 80 | @Bean |
| 81 | - @ConditionalOnBean(AbstractStreamMessageListener.class) // 只有 AbstractStreamMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 82 | - public RedisPendingMessageResendJob redisPendingMessageResendJob(List<AbstractStreamMessageListener<?>> listeners, | |
| 81 | + @ConditionalOnBean(AbstractRedisStreamMessageListener.class) // 只有 AbstractStreamMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 82 | + public RedisPendingMessageResendJob redisPendingMessageResendJob(List<AbstractRedisStreamMessageListener<?>> listeners, | |
| 83 | 83 | RedisMQTemplate redisTemplate, |
| 84 | 84 | @Value("${spring.application.name}") String groupName, |
| 85 | 85 | RedissonClient redissonClient) { |
| ... | ... | @@ -92,9 +92,9 @@ public class YudaoRedisMQAutoConfiguration { |
| 92 | 92 | * 基础知识:<a href="https://www.geek-book.com/src/docs/redis/redis/redis.io/commands/xreadgroup.html">Redis Stream 的 xreadgroup 命令</a> |
| 93 | 93 | */ |
| 94 | 94 | @Bean(initMethod = "start", destroyMethod = "stop") |
| 95 | - @ConditionalOnBean(AbstractStreamMessageListener.class) // 只有 AbstractStreamMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 95 | + @ConditionalOnBean(AbstractRedisStreamMessageListener.class) // 只有 AbstractStreamMessageListener 存在的时候,才需要注册 Redis pubsub 监听 | |
| 96 | 96 | public StreamMessageListenerContainer<String, ObjectRecord<String, String>> redisStreamMessageListenerContainer( |
| 97 | - RedisMQTemplate redisMQTemplate, List<AbstractStreamMessageListener<?>> listeners) { | |
| 97 | + RedisMQTemplate redisMQTemplate, List<AbstractRedisStreamMessageListener<?>> listeners) { | |
| 98 | 98 | RedisTemplate<String, ?> redisTemplate = redisMQTemplate.getRedisTemplate(); |
| 99 | 99 | checkRedisVersion(redisTemplate); |
| 100 | 100 | // 第一步,创建 StreamMessageListenerContainer 容器 | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/RedisMQTemplate.java
| ... | ... | @@ -3,8 +3,8 @@ package cn.iocoder.yudao.framework.mq.redis.core; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 4 | 4 | import cn.iocoder.yudao.framework.mq.redis.core.interceptor.RedisMessageInterceptor; |
| 5 | 5 | import cn.iocoder.yudao.framework.mq.redis.core.message.AbstractRedisMessage; |
| 6 | -import cn.iocoder.yudao.framework.mq.redis.core.pubsub.AbstractChannelMessage; | |
| 7 | -import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractStreamMessage; | |
| 6 | +import cn.iocoder.yudao.framework.mq.redis.core.pubsub.AbstractRedisChannelMessage; | |
| 7 | +import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractRedisStreamMessage; | |
| 8 | 8 | import lombok.AllArgsConstructor; |
| 9 | 9 | import lombok.Getter; |
| 10 | 10 | import org.springframework.data.redis.connection.stream.RecordId; |
| ... | ... | @@ -35,7 +35,7 @@ public class RedisMQTemplate { |
| 35 | 35 | * |
| 36 | 36 | * @param message 消息 |
| 37 | 37 | */ |
| 38 | - public <T extends AbstractChannelMessage> void send(T message) { | |
| 38 | + public <T extends AbstractRedisChannelMessage> void send(T message) { | |
| 39 | 39 | try { |
| 40 | 40 | sendMessageBefore(message); |
| 41 | 41 | // 发送消息 |
| ... | ... | @@ -51,7 +51,7 @@ public class RedisMQTemplate { |
| 51 | 51 | * @param message 消息 |
| 52 | 52 | * @return 消息记录的编号对象 |
| 53 | 53 | */ |
| 54 | - public <T extends AbstractStreamMessage> RecordId send(T message) { | |
| 54 | + public <T extends AbstractRedisStreamMessage> RecordId send(T message) { | |
| 55 | 55 | try { |
| 56 | 56 | sendMessageBefore(message); |
| 57 | 57 | // 发送消息 | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/job/RedisPendingMessageResendJob.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.framework.mq.redis.core.job; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.iocoder.yudao.framework.mq.redis.core.RedisMQTemplate; |
| 5 | -import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractStreamMessageListener; | |
| 5 | +import cn.iocoder.yudao.framework.mq.redis.core.stream.AbstractRedisStreamMessageListener; | |
| 6 | 6 | import lombok.AllArgsConstructor; |
| 7 | 7 | import lombok.extern.slf4j.Slf4j; |
| 8 | 8 | import org.redisson.api.RLock; |
| ... | ... | @@ -33,7 +33,7 @@ public class RedisPendingMessageResendJob { |
| 33 | 33 | */ |
| 34 | 34 | private static final int EXPIRE_TIME = 5 * 60; |
| 35 | 35 | |
| 36 | - private final List<AbstractStreamMessageListener<?>> listeners; | |
| 36 | + private final List<AbstractRedisStreamMessageListener<?>> listeners; | |
| 37 | 37 | private final RedisMQTemplate redisTemplate; |
| 38 | 38 | private final String groupName; |
| 39 | 39 | private final RedissonClient redissonClient; | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/pubsub/AbstractChannelMessage.java renamed to yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/pubsub/AbstractRedisChannelMessage.java
| ... | ... | @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; |
| 8 | 8 | * |
| 9 | 9 | * @author 芋道源码 |
| 10 | 10 | */ |
| 11 | -public abstract class AbstractChannelMessage extends AbstractRedisMessage { | |
| 11 | +public abstract class AbstractRedisChannelMessage extends AbstractRedisMessage { | |
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * 获得 Redis Channel,默认使用类名 | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/pubsub/AbstractChannelMessageListener.java renamed to yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/pubsub/AbstractRedisChannelMessageListener.java
| ... | ... | @@ -20,7 +20,7 @@ import java.util.List; |
| 20 | 20 | * |
| 21 | 21 | * @author 芋道源码 |
| 22 | 22 | */ |
| 23 | -public abstract class AbstractChannelMessageListener<T extends AbstractChannelMessage> implements MessageListener { | |
| 23 | +public abstract class AbstractRedisChannelMessageListener<T extends AbstractRedisChannelMessage> implements MessageListener { | |
| 24 | 24 | |
| 25 | 25 | /** |
| 26 | 26 | * 消息类型 |
| ... | ... | @@ -37,7 +37,7 @@ public abstract class AbstractChannelMessageListener<T extends AbstractChannelMe |
| 37 | 37 | private RedisMQTemplate redisMQTemplate; |
| 38 | 38 | |
| 39 | 39 | @SneakyThrows |
| 40 | - protected AbstractChannelMessageListener() { | |
| 40 | + protected AbstractRedisChannelMessageListener() { | |
| 41 | 41 | this.messageType = getMessageClass(); |
| 42 | 42 | this.channel = messageType.getDeclaredConstructor().newInstance().getChannel(); |
| 43 | 43 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/stream/AbstractStreamMessage.java renamed to yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/stream/AbstractRedisStreamMessage.java
| ... | ... | @@ -8,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; |
| 8 | 8 | * |
| 9 | 9 | * @author 芋道源码 |
| 10 | 10 | */ |
| 11 | -public abstract class AbstractStreamMessage extends AbstractRedisMessage { | |
| 11 | +public abstract class AbstractRedisStreamMessage extends AbstractRedisMessage { | |
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * 获得 Redis Stream Key,默认使用类名 | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/stream/AbstractStreamMessageListener.java renamed to yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/redis/core/stream/AbstractRedisStreamMessageListener.java
| ... | ... | @@ -22,7 +22,7 @@ import java.util.List; |
| 22 | 22 | * |
| 23 | 23 | * @author 芋道源码 |
| 24 | 24 | */ |
| 25 | -public abstract class AbstractStreamMessageListener<T extends AbstractStreamMessage> | |
| 25 | +public abstract class AbstractRedisStreamMessageListener<T extends AbstractRedisStreamMessage> | |
| 26 | 26 | implements StreamListener<String, ObjectRecord<String, String>> { |
| 27 | 27 | |
| 28 | 28 | /** |
| ... | ... | @@ -48,7 +48,7 @@ public abstract class AbstractStreamMessageListener<T extends AbstractStreamMess |
| 48 | 48 | private RedisMQTemplate redisMQTemplate; |
| 49 | 49 | |
| 50 | 50 | @SneakyThrows |
| 51 | - protected AbstractStreamMessageListener() { | |
| 51 | + protected AbstractRedisStreamMessageListener() { | |
| 52 | 52 | this.messageType = getMessageClass(); |
| 53 | 53 | this.streamKey = messageType.getDeclaredConstructor().newInstance().getStreamKey(); |
| 54 | 54 | } | ... | ... |
yudao-framework/yudao-spring-boot-starter-mq/《芋道 Spring Boot 事件机制 Event 入门》.md
0 → 100644
| 1 | +<http://www.iocoder.cn/Spring-Boot/Event/?yudao> | ... | ... |