Redisson-RTopic

RTpoic简介:

RTpoic 是 Redisson 提供的用于实现发布-订阅(Pub/Sub)模式的类,它封装了 Redis 的发布和订阅功能,让开发者能够轻松地在分布式环境中进行消息的发布和订阅。

实际上类似于Kafka、RocketMQ等一系列MessageQueue的生产-消费关系。

自产自销:简单的说,可以实现一个服务中,自己发布消息,自己订阅消息进行消息的分发处理。

 

代码示例:

1、引入redisson依赖

<!-- redis -->
<dependency>
  <groupId>org.redisson</groupId>
  <artifactId>redisson-spring-boot-starter</artifactId>
  <version>3.15.5</version>
</dependency>

 

2、创建一个指定发布-订阅的真实类型

/**
* 功能:监听器指定泛型类
*/
@Data
public class RTopicMsgEvent implements Serializable {
  private static final long serialVersionUID = -1L;

  private String orderNo;
}


3、创建一个主题监听器

/**
* 功能:主题消息监听器
*/
@Slf4j
@Service
public class RTopicListener implements MessageListener<RTopicMsgEvent> {

  public static final String TOPIC = "myRTopic";

  @Override
  public void onMessage(CharSequence charSequence, RTopicMsgEvent rTopicMsgEvent) {
    // 订阅到的消息
    System.out.println(rTopicMsgEvent.getOrderNo());
  }
}


4、注册Bean

/**
* 功能:RTopic配置类
*/
@Slf4j
@Configuration
public class RTopicConfiguration {

  @Autowired
  RedissonClient redissonClient;
  @Autowired
  RTopicListener rTopicListener;

  /**
  * addListener:泛型类、监听器
  * @return
  */
  @Bean("rTopicMsgEventHandel")
  public RTopic redisDownMsgEventTopic() {
    /* 发布对应的主题 */
    RTopic topic = redissonClient.getTopic(RTopicListener.TOPIC);
    /* 对该主题添加监听器 */
    topic.addListener(RTopicMsgEvent.class, rTopicListener);
    return topic;
  }
}
————————————————

当某主题的消息被发布到对应主题后,对应主题的泛型类监听器将会对消息进行监听。

posted on   mzone  阅读(156)  评论(0编辑  收藏  举报

(评论功能已被禁用)
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示