spring-boot. 结合redis 实现消息队列

导入依赖jar包

XML 复制代码
        <!-- redis 配置信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

实现消息监听接口 MessageListener\重写 onMessage方法

java 复制代码
/**
 * @author haizhuangbu
 * @date 2024/3/31 11:30
 * @mark UserInfoRegisterTopicListen
 */
@Component
@Slf4j
public class UserInfoRegisterTopicListen implements MessageListener {

    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Override
    public void onMessage(Message message, byte[] bytes) {
        log.info("接收到redis消息队列消息 : {}", message.toString());
    }
}

绑定 topic 与 监听器

java 复制代码
@Configuration
public class RedisTopicQueueConfig {

    @Autowired
    private UserInfoRegisterTopicListen userInfoRegisterTopicListen;


    /**
     * @param connectionFactory 连接工厂
     * @return redis 监听容器
     */
    @Bean
    public RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
        RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer();
        redisMessageListenerContainer.setConnectionFactory(connectionFactory); // 连接工厂
        redisMessageListenerContainer
                // 配置适配器与对应消息队列信息
                .addMessageListener(new MessageListenerAdapter(userInfoRegisterTopicListen, MessageListenerAdapter.ORIGINAL_DEFAULT_LISTENER_METHOD),
                        new ChannelTopic(RedisTopicQueueEnum.USER_REGISTER.getTopic()));
        return redisMessageListenerContainer;
    }

}

测试

代码测试
java 复制代码
redisTemplate.convertAndSend("userRegister", String.format("用户 %s 注册失败", userDto.getUsername()));
消息消费成功
相关推荐
苏渡苇2 分钟前
Redis 持久化——RDB 快照 vs AOF 日志
数据库·redis·缓存·redis持久化·aof vs rdb
Trouvaille ~3 分钟前
【Redis】Redis 持久化:RDB 与 AOF 深度解析
redis·中间件·持久化·aof·后端开发·rdb·基础入门
l1t20 分钟前
DeepSeek总结的使用 PEG 实现运行时可扩展的 SQL 解析器
数据库·sql
这个DBA有点耶24 分钟前
COUNT进阶(续):超大表去重计数的极致优化
数据库·架构·代码规范
爱喝水的鱼丶30 分钟前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇) 第四篇:SAP 报表异常处理机制:数据校验与消息提示规范落地
开发语言·数据库·学习·算法·sap·abap
_1_733 分钟前
SQL SERVER闪退问题解决
数据库·sqlserver
ZengLiangYi1 小时前
sql.js WASM 深度解析
javascript·数据库·后端
一 乐1 小时前
人口老龄化社区服务与管理平台|基于springboot+vue的人口老龄化社区服务与管理平台(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·人口老龄化社区服务与管理平台
梓䈑1 小时前
【MySQL】表的操作(数据表的创建、查看 和 修改)
数据库·mysql
小碗羊肉2 小时前
【Redis | 第六篇】Redisson
数据库·redis·缓存