zoukankan      html  css  js  c++  java
  • Redis实现消息的发布/订阅

    利用spring-boot结合redis进行消息的发布与订阅:

      发布:

      class Publish {

        private static String topicName = “Topic:chat”;

        @Bean

        RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter messageListenerAdapter ) {

          RedisMessageListenerContainer  redisMessageListenerContainer  = new RedisMessageListenerContainer ();

          redisMessageListenerContainer.setConnectionFactory(connectionFactory);

          redisMessageListenerContainer.addMessageListenerAdapter(messageListenerAdapter ,new PatternTopic(topicName ));

          return  redisMessageListenerContainer;

        }

        @Bean

        MessageListenerAdapter messageListenerAdapter(Receiver recevier){

          return new MessageListenerAdapter (recevier,"receiveMessage");

        }

        @Bean

        Receiver recevier(@Value("Receiver-1") String name) {

          return new Receiver(name);

        }

        public static main(String[] args) {

          ApplicationContext ctx = SpringApplication.run(Publish .class,args);

          StringRedisTemple stringRedisTemple = ctx.getBean(StringRedisTemple.class);

          stringRedisTemple.convertAndSend(topicName ,"HAHAHAHAHAHA"); 

        }

      } 

          订阅:

      class Receiver {

        private String name;

        @Autowired

        public Receiver(String name) {

          this.name = name;

        }

        public void receiveMessage(String message) {

          System.ount.println(name + message);

        }

      }

      

  • 相关阅读:
    (转)rename命令详解
    (转)CentOS 7系统详细开机启动流程和关机流程
    (转)Linux 开机引导和启动过程详解
    (转)Bash Shell常用快捷键
    (转)linux正则表达式详解
    (转)linux 中使用ls指定输出时间格式
    (转)用户管理 之 Linux 用户(user)和用户组(group)管理概述
    (转)Web服务器磁盘满故障深入解析
    详解MYSQL数据库密码的加密方式及破解方法
    php常见问题辨析(二)
  • 原文地址:https://www.cnblogs.com/stanljj/p/7119687.html
Copyright © 2011-2022 走看看