• Spring Boot中使用redis的发布/订阅模式


    原文:https://www.cnblogs.com/meetzy/p/7986956.html

    redis不仅是一个非常强大的非关系型数据库,它同时还拥有消息中间件的pub/sub功能,在spring boot中进行如下设置就可以使用redis的pub/sub功能:

    1.创建redis监听的设置类

    复制代码
    @Configuration
    public class RedisSubListenerConfig {
       //初始化监听器
        @Bean
        RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory,
                MessageListenerAdapter listenerAdapter) {
            RedisMessageListenerContainer container = new RedisMessageListenerContainer();
            container.setConnectionFactory(connectionFactory);
            container.addMessageListener(listenerAdapter, new PatternTopic("这里是监听的通道的名字"));
            return container;
        }
       //利用反射来创建监听到消息之后的执行方法
        @Bean
        MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) {
            return new MessageListenerAdapter(redisReceiver, "receiveMessage");
        }
      
      //使用默认的工厂初始化redis操作模板 @Bean StringRedisTemplate template(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); } }
    复制代码

    2.创建监听之后的receiver方法类

    复制代码
    @Service
    public class RedisReceiver {
        @Autowired
        RedisService redisService;
    
        public void receiveMessage(String message) {
            //这里是收到通道的消息之后执行的方法
        }
    }
    复制代码

    3.使用reidsTemplate向通道发送消息

    复制代码
    @Service
    public class RedisService {
        @Autowired
        private StringRedisTemplate stringRedisTemplate;
      //向通道发送消息的方法
        public void sendChannelMess(String channel, String message) {
            stringRedisTemplate.convertAndSend(channel, message);
        }
    }
    复制代码
  • 相关阅读:
    Linux查看某个端口使用情况并kill
    CentOS 7.0关闭默认防火墙启用iptables防火墙
    Centos7配置JAVA_HOME
    Android Http请求方法汇总
    Android开发总结之 --- 定时,读写文件
    二维码,条形码
    SIM卡相关
    Eclipse快捷键
    easyui datagrid 表格不让选中(双层嵌套)
    easyui datagrid 三层嵌套
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9470561.html
Copyright © 2020-2023  润新知