spring boot redis 广播消息
新建两个订阅监听
@Component
public class MessageSubListener implements MessageListener {@Overridepublic void onMessage(Message message, byte[] pattern) {System.out.println("consume1: " + new String(message.getBody()) + ", pattern: "+new String(pattern));}
}
@Component
public class MessageSubListener2 implements MessageListener {@Overridepublic void onMessage(Message message, byte[] pattern) {System.out.println("consume2: " + new String(message.getBody()));}
}
订阅配置
@Configuration
public class RedisSubConfig {public static final String SUB_KEY = "message:pool";@BeanRedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter,MessageListenerAdapter listenerAdapter2){RedisMessageListenerContainer container = new RedisMessageListenerContainer();container.setConnectionFactory(connectionFactory);container.addMessageListener(listenerAdapter, new PatternTopic(SUB_KEY));container.addMessageListener(listenerAdapter2, new PatternTopic(SUB_KEY));return container;}@BeanMessageListenerAdapter listenerAdapter(MessageSubListener redisPubSubListener){System.out.println("listenerAdapter register");return new MessageListenerAdapter(redisPubSubListener, "onMessage");}@BeanMessageListenerAdapter listenerAdapter2(MessageSubListener2 redisPubSubListener){System.out.println("listenerAdapter2 register");return new MessageListenerAdapter(redisPubSubListener, "onMessage");}
}
订阅模块已经写好,然后就是广播消息
@Component
public class PubMessageTask implements ApplicationRunner {@AutowiredRedisTemplate redisTemplate;@Overridepublic void run(ApplicationArguments args) throws Exception {for (int i = 0;i< 10; i++){redisTemplate.convertAndSend(RedisSubConfig.SUB_KEY, "message:" + i);Thread.sleep(1000);}}
}
测试结果
consume1: message:0, pattern: message:pool
consume2: message:0
consume1: message:1, pattern: message:pool
consume2: message:1
consume1: message:2, pattern: message:pool
consume2: message:2
consume1: message:3, pattern: message:pool
consume2: message:3
consume1: message:4, pattern: message:pool
consume2: message:4
consume1: message:5, pattern: message:pool
consume2: message:5
consume1: message:6, pattern: message:pool
consume2: message:6
consume1: message:7, pattern: message:pool
consume2: message:7
consume1: message:8, pattern: message:pool
consume2: message:8
consume1: message:9, pattern: message:pool
consume2: message:9
两个监听都收到了广播消息
pom中引入redis maven 包
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
spring boot redis 广播消息相关推荐
- idea springboot 发布webservice 发布服务_太赞了:Spring boot+redis实现消息发布与订阅...
一.创建spring boot项目 org.springframework.boot spring-boot-starter-data-redis org.springframework.boot s ...
- nodejs redis 发布订阅_太赞了:Spring boot+redis实现消息发布与订阅
一.创建spring boot项目 org.springframework.boot spring-boot-starter-data-redis org.springframework.boot s ...
- Spring Boot Redis缓存
Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...
- java+cache使用方法_java相关:Spring boot redis cache的key的使用方法
java相关:Spring boot redis cache的key的使用方法 发布于 2020-8-16| 复制链接 摘记: 在数据库查询中我们往往会使用增加缓存来提高程序的性能,@Cacheabl ...
- Spring Boot Redis Cluster 实战干货
转载自 Spring Boot Redis Cluster 实战干货 添加配置信息 spring.redis:database: 0 # Redis数据库索引(默认为0)#host: 192.168 ...
- 太好了 | 这篇写的太好了!Spring Boot + Redis 实现接口幂等性
Hi ! 我是小小,今天是本周的第四篇,第四篇主要内容是 Spring Boot + Redis 实现接口幂等性 介绍 幂等性的概念是,任意多次执行所产生的影响都与一次执行产生的影响相同,按照这个含义 ...
- Spring Boot Redis关闭
Spring Boot Redis 在开发或者本地没有redis数据库时,控制台会一直报连接超时的日志,可以通过配置取消: spring: data:redis:repositories:enable ...
- java版spring cloud+spring boot+redis社交电子商务平台(八)消息总线(Spring Cloud Bus)
B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控. ...
- Spring Boot Redis 入门
本文,我们基于 Spring Boot 2.X 版本. 1. 概述 在快速入门 Spring Boot 整合 Redis 之前,我们先来做个简单的了解.在 Spring 的生态中,我们使用 Sprin ...
最新文章
- Taylor Swift -《Fearless》
- 在.NET Core中使用MEF
- Linux内核自旋锁
- java 1.5 代替for循环_J2EE 1.5 提供的另一种形式的for循环
- ON1 Resize 2022 for Mac(图片大小修改工具)
- Android支付实践(三)之银联支付功能(客户端+服务端)
- 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
- 基于ADS仿真的465khz检波电路
- 美团点评2020校园招聘商业分析师一面(2019.9.5)
- Rk 平台显示屏调试
- The Fewest Coins (混合背包)
- CUDA:实现Sobel边缘检测滤波器的实例
- python 幂数拟合及拟合度计算
- 11【门面设计模式】
- 旅行照片剪辑--呼伦贝尔篇--9.18
- matlab滤波实验,Refined Lee滤波实验MATLAB程序.docx
- JDK1.8的新特性
- 【调剂】浙江工业大学信息工程学院宣琦课题组诚招2020级研究生
- 37个!中国电信5G行业应用案例!
- 小学生数学测试软件编写分析,小学生数学测试软件C语言课程设计
热门文章
- @Autowired在IDEA中报错,如果修改呢?
- 更多数学趣题:Hanoi塔
- 求单项链表的倒数第k个节点(c语言)
- 10.WScript.Network对象
- ggplot2箱式图两两比较_如何在ggplot2图形上添加显著性差异注释?
- 2013 2014 2015 2016 2017 2018 2019 2020年历年信息技术/通用技术全国高考试卷+答案 word版含高考考纲分布
- Android捕捉崩溃日志并输出日志文件
- Win7电脑无法安装itunes怎么办?
- Problem 76. De-dupe
- mq4气体传感器流程图_气体传感器Word版