SpringCloud分布式微服务b2b2c电子商务(十二)在springboot中用redis实现消息队列
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,准备阶段安装redis,可参考我的另一篇文章java 1.8maven 3.0idea环境依赖创建一个新的springboot工程,了解springcloud架构可以加求求:三五三六二四七二五九。在其
千家信息网最后更新 2025年02月04日SpringCloud分布式微服务b2b2c电子商务(十二)在springboot中用redis实现消息队列
准备阶段
安装redis,可参考我的另一篇文章
java 1.8
maven 3.0
idea
环境依赖
创建一个新的springboot工程,了解springcloud架构可以加求求:三五三六二四七二五九。在其pom文件,加入spring-boot-starter-data-redis依赖:
org.springframework.boot spring-boot-starter-data-redis
创建一个消息接收者
REcevier类,它是一个普通的类,需要注入到springboot中。
public class Receiver { private static final Logger LOGGER = LoggerFactory.getLogger(Receiver.class); private CountDownLatch latch; @Autowired public Receiver(CountDownLatch latch) { this.latch = latch; } public void receiveMessage(String message) { LOGGER.info("Received <" + message + ">"); latch.countDown(); }}
注入消息接收者
@Bean Receiver receiver(CountDownLatch latch) { return new Receiver(latch); } @Bean CountDownLatch latch() { return new CountDownLatch(1); } @Bean StringRedisTemplate template(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); }
注入消息监听容器
在spring data redis中,利用redis发送一条消息和接受一条消息,需要三样东西:
一个连接工厂
一个消息监听容器
Redis template
上述1、3步已经完成,所以只需注入消息监听容器即可:
@Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.addMessageListener(listenerAdapter, new PatternTopic("chat")); return container; } @Bean MessageListenerAdapter listenerAdapter(Receiver receiver) { return new MessageListenerAdapter(receiver, "receiveMessage"); }
测试
在springboot入口的main方法:
public static void main(String[] args) throws Exception{ ApplicationContext ctx = SpringApplication.run(SpringbootRedisApplication.class, args); StringRedisTemplate template = ctx.getBean(StringRedisTemplate.class); CountDownLatch latch = ctx.getBean(CountDownLatch.class); LOGGER.info("Sending message..."); template.convertAndSend("chat", "Hello from Redis!"); latch.await(); System.exit(0); }
消息
容器
监听
接收者
普通
东西
入口
只需
工厂
工程
文件
方法
架构
环境
篇文章
阶段
准备
参考
测试
中用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京永泰天逸软件开发
杭州网络技术有限公司电话
中电科网络安全厦门雅迅
数据库系统总体需求
数据库scheme和实例的关系
服务器右键管理打不开
数据库引擎支持什么
扶壁悬臂墙软件开发注意事项
绘画展示网络安全知识全集视频
2020河南网络安全答题竞赛
华为oxc软件开发
网络安全计算机怎么样
网络安全实训课总结
ping不通数据库
现在学习软件开发
app软件开发语言框架
郑州安卓应用软件开发费用多少
全新的域控制器软件开发
数据库技术在多媒体的应用
浪潮服务器连接电脑
谈一谈对数据库mysql的理解
数据库访问工具
数据库作业设计员工信息表结构
pm软件开发者
魅族flyme服务器无法访问
数据库技术计算机三级重点
韩国网络技术019
乌镇互联网科技馆项目
国家网络安全专业好么
防范网络安全感悟