文章正文
springboot集成Redis队列的发布订阅功能
【文档】2020-04-23
简介springboot集成Redis队列的发布订阅功能
注册监听:
package com.example.demo.config;
import com.example.demo.controller.RedisController;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
public class RedisConfig {
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter1,
MessageListenerAdapter listenerAdapter2) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
// 每一个监听器messageListener都需要一个适配器,队列可以是同一个
container.addMessageListener(listenerAdapter1, new PatternTopic("redis:test"));
container.addMessageListener(listenerAdapter2, new PatternTopic("redis:prod"));
return container;
}
/**
* 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法
* @return
*/
@Bean
MessageListenerAdapter listenerAdapter1(RedisController redisController) {
return new MessageListenerAdapter(redisController, "receiveMessage1");
}
/**
* 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法
* @return
*/
@Bean
MessageListenerAdapter listenerAdapter2(RedisController redisController) {
return new MessageListenerAdapter(redisController, "receiveMessage2");
}
@Bean
StringRedisTemplate template(RedisConnectionFactory connectionFactory) {
return new StringRedisTemplate(connectionFactory);
}
}消息发布:
/**
* 消息发布者
* @return
*/
@RequestMapping("/redisTest")
public String redisTest() {
for(int i = 1; i <= 5; i++) {
redisTemplate.convertAndSend("redis:test","通知你该开始了");
}
redisTemplate.convertAndSend("redis:prod","通知你该结束了");
return "";
}消息订阅:
package com.example.demo.controller;
import org.springframework.stereotype.Component;
@Component
public class RedisController {
public void receiveMessage1(String message) {
System.out.println(message+":收到");
}
public void receiveMessage2(String message) {
System.out.println(message+":OK");
}
}
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
张大昌医论医案集 张大昌著 北京:学苑出版社 PDF 9787507731095 出版时间:2008.pdf
张大昌医论医案集 张大昌著 北京:学苑出版社 PDF 9787507731095 出版时间:2008.pdf ...
-
资治通鉴(附考异)六册合集(宋)司马光 编撰,邬国义 校点 上海古籍出版社 PDF 9787532577125 出版时间:2017年11月.pdf
资治通鉴(附考异)六册合集(宋)司马光 编撰,邬国义 校点 上海古籍出版社 PDF 9787532577125 出版时间:2017年11月.pdf ...
-
论系统工程 新世纪版 钱学森等著;中国系统工程学会,上海交通大学编 上海:上海交通大学出版社 PDF 7313045891 出版时间:2007.pdf
论系统工程 新世纪版 钱学森等著;中国系统工程学会,上海交通大学编 上海:上海交通大学出版社 PDF 7313045891 出版时间:2007.pdf ...
-
身体语言密码 (英)亚伦·皮斯,芭芭拉·皮斯著 北京:中国城市出版社 PDF 7507419428 2007.pdf
身体语言密码 (英)亚伦·皮斯,芭芭拉·皮斯著 北京:中国城市出版社 PDF 7507419428 2007.pdf ...
-
爱情伊妹儿 麦琪(英儿)著 武汉:长江文艺出版社 PDF 753542290X 出版时间:2002.pdf
爱情伊妹儿 麦琪(英儿)著 武汉:长江文艺出版社 PDF 753542290X 出版时间:2002.pdf ...
-
数据仓库与数据挖掘应用教程 李春葆,蒋林,陈良臣,喻丹丹,曾平编著 北京:清华大学出版社 PDF 9787302430773 2016.pdf
数据仓库与数据挖掘应用教程 李春葆,蒋林,陈良臣,喻丹丹,曾平编著 北京:清华大学出版社 PDF 9787302430773 2016.pdf ...
-
ASP.NET 4.5动态网站设计教程 基于C# 5.0+ 李春葆,蒋林,喻丹丹,曾平,陈良臣编 北京:清华大学出版社 PDF 9787302416289 2016.pdf
ASP.NET 4.5动态网站设计教程 基于C# 5.0+ 李春葆,蒋林,喻丹丹,曾平,陈良臣编 北京:清华大学出版社 PDF 9787302416289 2016.pdf ...
-
算法设计与分析 李春葆主编;李筱驰,蒋林,陈良臣,喻丹丹编著 北京:清华大学出版社 PDF 9787302500988 2018.pdf
算法设计与分析 李春葆主编;李筱驰,蒋林,陈良臣,喻丹丹编著 北京:清华大学出版社 PDF 9787302500988 2018.pdf ...
-
新编计算机组成原理习题与解析 李春葆,安扬,曾平编著 北京:清华大学出版社 PDF 9787302306177 2013.pdf
新编计算机组成原理习题与解析 李春葆,安扬,曾平编著 北京:清华大学出版社 PDF 9787302306177 2013.pdf ...
-
操作系统 习题与解析 曾平,李春葆编著 北京:清华大学出版社 PDF 730204659 2001.pdf
操作系统 习题与解析 曾平,李春葆编著 北京:清华大学出版社 PDF 730204659 2001.pdf ...