怎么在springboot中用redis实现消息队列
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"怎么在springboot中用redis实现消息队列",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么在springboot中用redi
千家信息网最后更新 2025年02月01日怎么在springboot中用redis实现消息队列
本篇内容主要讲解"怎么在springboot中用redis实现消息队列",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么在springboot中用redis实现消息队列"吧!
准备阶段
安装redis
java 1.8
maven 3.0
idea
环境依赖
创建一个新的springboot工程,在其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); }
先用redisTemplate发送一条消息,接收者接收到后,打印出来。启动springboot程序,控制台打印:
2017-04-20 17:25:15.536 INFO 39148 -- [ main] com.forezp.SpringbootRedisApplication : Sending message…
2017-04-20 17:25:15.544 INFO 39148 -- [ container-2] com.forezp.message.Receiver : 》Received
测试通过,接收者确实接收到了发送者的消息。
到此,相信大家对"怎么在springboot中用redis实现消息队列"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
消息
接收者
中用
队列
容器
监听
内容
方法
学习
测试
实用
普通
更深
东西
入口
兴趣
发送者
只需
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
维度空间互联网科技
电力网络技术开发前沿
清华大学网络安全专业考研
wpf弹幕软件开发
教育网络安全app
抖音搜索排名软件开发
后台支撑数据库系统安装情况
宾馆电脑网络安全吗
博兴客户管理crm软件开发
睿格科技互联网
普陀区企业数据库价格表格
不同数据库的安全性
小学生网络安全画简单
服务器stop指令
在vs中插入数据到数据库
网络安全证书有问题怎么回事
三级数据库技术必备
网络安全威胁形势四个阶段
乐透软件开发与定制
尚学网络技术
深空之眼几个服务器
延庆区有名的软件开发诚信服务
杭州网络安全峰会
国泰君安 软件开发待遇
网络技术工程师系列
南昌工业图控系统软件开发
成都云车酷互联网科技
服务器stop指令
临沭县网络安全保卫大队
云模式下应用数据库