• 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);
        }
    }
    复制代码
  • 相关阅读:
    Ansible安装配置
    Git 工作流程
    使用 Docker 搭建 Tomcat 运行环境
    Linux的cron与%
    配置sonar和jenkins进行代码审查
    Jenkins配置基于角色的项目权限管理
    Jenkins和maven自动化构建java程序
    Jenkins修改workspace和build目录
    Git 进阶指南
    git代码回滚:Reset、Checkout、Revert的选择
  • 原文地址:https://www.cnblogs.com/shihaiming/p/9470561.html
Copyright © 2020-2023  润新知