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()));
消息消费成功
相关推荐
龙仔7251 小时前
人大金仓OS_Core数据库自动备份实施笔记(银河麒麟Linux)
linux·数据库·笔记·备份·人大金仓
sunxr.2271 小时前
Mysql-----最后一次作业
数据库·mysql
普通网友2 小时前
Python FastAPI 异步数据库管理
数据库·fastapi
晓子文集2 小时前
Tushare接口文档:期货合约信息表(fut_basic)
大数据·数据库·金融·金融数据·量化投资
三言老师2 小时前
CentOS7.9:Redis‑Cluster集群部署结构化实战教程
linux·运维·服务器·数据库
旺仔学长 哈哈3 小时前
Spring Boot 智能停车场管理系统---附源码+数据库文档
数据库·spring boot·后端·智能停车场
ClickHouseDB3 小时前
ClickHouse托管Postgres:OLTP+OLAP,新能力解锁最佳数据平台
java·前端·数据库
数智化管理手记4 小时前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
吴声子夜歌4 小时前
MongoDB 4.2——选择片键
数据库·mongodb
天天进步一点点4 小时前
QSqlQuery删除sqlite数据库执行drop数据表报错database table is locked unable to fetch row问题
数据库·oracle·sqlite