文章正文
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,若离线请留言!
热门阅读
-
20篇:英美现当代散文 陆谷孙等选编 上海:复旦大学出版社 PDF 9787309082647 出版时间:2011.pdf
20篇:英美现当代散文 陆谷孙等选编 上海:复旦大学出版社 PDF 9787309082647 出版时间:2011.pdf ...
-
材料力学解题指导 马红艳主编 北京:科学出版社 PDF 9787030400543 出版时间:2014.pdf
材料力学解题指导 马红艳主编 北京:科学出版社 PDF 9787030400543 出版时间:2014.pdf ...
-
疯癫与文明_米歇尔·福柯 北京:生活·读书·新知三联书店 PDF 97875413129287 出版时间:2007.04.pdf
疯癫与文明_米歇尔·福柯 北京:生活·读书·新知三联书店 PDF 97875413129287 出版时间:2007.04.pdf ...
-
蒙古秘史 余大钧译注 呼和浩特:内蒙古大学出版社 PDF 9787566505460 2014.pdf
蒙古秘史 余大钧译注 呼和浩特:内蒙古大学出版社 PDF 9787566505460 2014.pdf ...
-
中国画像石全集 第3卷 山东汉画像石 中国画像石全集编辑委员会,焦德森主编 济南:山东美术出版社 PDF 7533014251 2000.pdf
中国画像石全集 第3卷 山东汉画像石 中国画像石全集编辑委员会,焦德森主编 济南:山东美术出版社 PDF 7533014251 2000.pdf ...
-
萧克回忆录 萧克著 北京:解放军出版社 PDF 978725506533383 出版时间:1997.pdf
萧克回忆录 萧克著 北京:解放军出版社 PDF 978725506533383 出版时间:1997.pdf ...
-
国史大纲 新校本 下 钱穆著 北京:九州出版社 PDF 9787510809941 出版时间:2011.pdf
国史大纲 新校本 下 钱穆著 北京:九州出版社 PDF 9787510809941 出版时间:2011.pdf ...
-
国史大纲 新校本 上 钱穆著 北京:九州出版社 PDF 9787510809941 出版时间:2011.pdf
国史大纲 新校本 上 钱穆著 北京:九州出版社 PDF 9787510809941 出版时间:2011.pdf ...
-
罗马国史大纲 (古罗马)尤特罗庇乌斯著 上海:上海人民出版社 PDF 9787208098541 2011.pdf
罗马国史大纲 (古罗马)尤特罗庇乌斯著 上海:上海人民出版社 PDF 9787208098541 2011.pdf ...
-
精神的丰碑 焦裕禄 候红,霍传富,董来往主编 郑州:河南大学出版社 PDF 9787564913847 2014.pdf
精神的丰碑 焦裕禄 候红,霍传富,董来往主编 郑州:河南大学出版社 PDF 9787564913847 2014.pdf ...