文章正文
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 9787203107743 出版时间:2019年04月.pdf
财报就像一本故事书 刘顺仁 著 山西人民出版社 PDF 9787203107743 出版时间:2019年04月.pdf ...
-
中国考古学研究的世纪回顾 旧石器时代考古卷 吕遵谔主编 北京:科学出版社 PDF 703012068 2004.pdf
中国考古学研究的世纪回顾 旧石器时代考古卷 吕遵谔主编 北京:科学出版社 PDF 703012068 2004.pdf ...
-
英语测试 J.B.Heaton著;韩宝成导读 北京:外语教学与研究出版社 PDF 7560019447 2000.pdf
英语测试 J.B.Heaton著;韩宝成导读 北京:外语教学与研究出版社 PDF 7560019447 2000.pdf ...
-
英语语法精讲与测试 第3版 张福元主编 上海:华东理工大学出版社 PDF 9787562835219 2013.pdf
英语语法精讲与测试 第3版 张福元主编 上海:华东理工大学出版社 PDF 9787562835219 2013.pdf ...
-
勇往直前 通向白宫之路 (美)乔治·W.布什(George W.Bush)著;史国强译 沈阳:辽宁人民出版社 PDF 7205051916 2001.pdf
勇往直前 通向白宫之路 (美)乔治·W.布什(George W.Bush)著;史国强译 沈阳:辽宁人民出版社 PDF 7205051916 2001.pdf ...
-
进出口贸易实务教程习题集 修订版 张永安主编;沈克华副主编 上海:汉语大词典出版社 PDF 7543226928 2017.pdf
进出口贸易实务教程习题集 修订版 张永安主编;沈克华副主编 上海:汉语大词典出版社 PDF 7543226928 2017.pdf ...
-
情绪 (美)莉莎·费德曼·巴瑞特(Lisa Feldman Barrett)著 北京:中信出版社 PDF 9787508697857 2019.pdf
情绪 (美)莉莎·费德曼·巴瑞特(Lisa Feldman Barrett)著 北京:中信出版社 PDF 9787508697857 2019.pdf ...
-
铁路通信工 通用基础知识 《铁路职工岗位培训教材》编审委员会编著 北京:中国铁道出版社 PDF 9787113186432 2014.pdf
铁路通信工 通用基础知识 《铁路职工岗位培训教材》编审委员会编著 北京:中国铁道出版社 PDF 9787113186432 2014.pdf ...
-
积极希望 (美)乔安娜·梅西//(英)克里斯·约翰斯通|责编:陈志姣|译者... 华夏 PDF 9787522205694 出版时间:2024年01月.pdf
积极希望 (美)乔安娜·梅西//(英)克里斯·约翰斯通|责编:陈志姣|译者... 华夏 PDF 9787522205694 出版时间:2024年01月.pdf ...
-
言说与沉默 维特根斯坦《逻辑哲学论》中的命题学说 李国山著 天津:南开大学出版社 PDF 7310020448 2004.pdf
言说与沉默 维特根斯坦《逻辑哲学论》中的命题学说 李国山著 天津:南开大学出版社 PDF 7310020448 2004.pdf ...