新建两个订阅监听

@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 广播消息相关推荐

  1. idea springboot 发布webservice 发布服务_太赞了:Spring boot+redis实现消息发布与订阅...

    一.创建spring boot项目 org.springframework.boot spring-boot-starter-data-redis org.springframework.boot s ...

  2. nodejs redis 发布订阅_太赞了:Spring boot+redis实现消息发布与订阅

    一.创建spring boot项目 org.springframework.boot spring-boot-starter-data-redis org.springframework.boot s ...

  3. Spring Boot Redis缓存

    Spring Boot Redis缓存 目录[ 隐藏 ] 1 Spring Boot Redis缓存 1.1 Spring Boot Redis项目设置 1.2 Spring Boot Redis缓存 ...

  4. java+cache使用方法_java相关:Spring boot redis cache的key的使用方法

    java相关:Spring boot redis cache的key的使用方法 发布于 2020-8-16| 复制链接 摘记: 在数据库查询中我们往往会使用增加缓存来提高程序的性能,@Cacheabl ...

  5. Spring Boot Redis Cluster 实战干货

    转载自  Spring Boot Redis Cluster 实战干货 添加配置信息 spring.redis:database: 0 # Redis数据库索引(默认为0)#host: 192.168 ...

  6. 太好了 | 这篇写的太好了!Spring Boot + Redis 实现接口幂等性

    Hi ! 我是小小,今天是本周的第四篇,第四篇主要内容是 Spring Boot + Redis 实现接口幂等性 介绍 幂等性的概念是,任意多次执行所产生的影响都与一次执行产生的影响相同,按照这个含义 ...

  7. Spring Boot Redis关闭

    Spring Boot Redis 在开发或者本地没有redis数据库时,控制台会一直报连接超时的日志,可以通过配置取消: spring: data:redis:repositories:enable ...

  8. java版spring cloud+spring boot+redis社交电子商务平台(八)消息总线(Spring Cloud Bus)

    B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控. ...

  9. Spring Boot Redis 入门

    本文,我们基于 Spring Boot 2.X 版本. 1. 概述 在快速入门 Spring Boot 整合 Redis 之前,我们先来做个简单的了解.在 Spring 的生态中,我们使用 Sprin ...

最新文章

  1. Taylor Swift -《Fearless》
  2. 在.NET Core中使用MEF
  3. Linux内核自旋锁
  4. java 1.5 代替for循环_J2EE 1.5 提供的另一种形式的for循环
  5. ON1 Resize 2022 for Mac(图片大小修改工具)
  6. Android支付实践(三)之银联支付功能(客户端+服务端)
  7. 新版Android使用微桌面,微桌面是什么?微信正开发安卓“微桌面”
  8. 基于ADS仿真的465khz检波电路
  9. 美团点评2020校园招聘商业分析师一面(2019.9.5)
  10. Rk 平台显示屏调试
  11. The Fewest Coins (混合背包)
  12. CUDA:实现Sobel边缘检测滤波器的实例
  13. python 幂数拟合及拟合度计算
  14. 11【门面设计模式】
  15. 旅行照片剪辑--呼伦贝尔篇--9.18
  16. matlab滤波实验,Refined Lee滤波实验MATLAB程序.docx
  17. JDK1.8的新特性
  18. 【调剂】浙江工业大学信息工程学院宣琦课题组诚招2020级研究生
  19. 37个!中国电信5G行业应用案例!
  20. 小学生数学测试软件编写分析,小学生数学测试软件C语言课程设计

热门文章

  1. @Autowired在IDEA中报错,如果修改呢?
  2. 更多数学趣题:Hanoi塔
  3. 求单项链表的倒数第k个节点(c语言)
  4. 10.WScript.Network对象
  5. ggplot2箱式图两两比较_如何在ggplot2图形上添加显著性差异注释?
  6. 2013 2014 2015 2016 2017 2018 2019 2020年历年信息技术/通用技术全国高考试卷+答案 word版含高考考纲分布
  7. Android捕捉崩溃日志并输出日志文件
  8. Win7电脑无法安装itunes怎么办?
  9. Problem 76. De-dupe
  10. mq4气体传感器流程图_气体传感器Word版