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);

    }

  }

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM