• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

SpringBoot使用Redisson做延迟队列案列(详细)

武飞扬头像
小周同学呀!
帮助1

背景:

有些场景下,需要延迟触发一些任务。比如:延迟几秒钟发送短信或者邮件;某些业务系统回调,需要延时几秒钟后回调。

当然,实现延时触发的方式有很多,我这里采用 redisson 的 RDelayedQueue,一是因为接入简单,二是没有分布式的问题。毕竟现在微服务大行其道。

接下来,我们进入正题。

使用步骤:

使用 延迟队列呢,一般就几个步骤:

  1. 添加消息进入延迟队列
  2. 从延迟队列中取出消息消费

具有步骤:

  1. 新建springBoot项目,并导入pom.xml相关依赖
    1.  
      <dependencies>
    2.  
       
    3.  
      <dependency>
    4.  
      <groupId>org.projectlombok</groupId>
    5.  
      <artifactId>lombok</artifactId>
    6.  
      <optional>true</optional>
    7.  
      </dependency>
    8.  
      <dependency>
    9.  
      <groupId>org.springframework.boot</groupId>
    10.  
      <artifactId>spring-boot-starter-test</artifactId>
    11.  
      <scope>test</scope>
    12.  
      </dependency>
    13.  
      <!--Redisson支持-->
    14.  
      <dependency>
    15.  
      <groupId>org.redisson</groupId>
    16.  
      <artifactId>redisson</artifactId>
    17.  
      <version>3.12.0</version>
    18.  
      </dependency>
    19.  
      <dependency>
    20.  
      <groupId>org.apache.commons</groupId>
    21.  
      <artifactId>commons-lang3</artifactId>
    22.  
      <version>3.9</version>
    23.  
      </dependency>
    24.  
      <dependency>
    25.  
      <groupId>org.springframework.boot</groupId>
    26.  
      <artifactId>spring-boot-starter-web</artifactId>
    27.  
      </dependency>
    28.  
      </dependencies>
    学新通
  2. 项目结构如下
    学新通

调试

1.正常情况

学新通

 2.我调用完接口,redisson突然down调,消息依然能正常被消费

学新通

 学新通

 我的demo也贡献给大家,有需要的可以随时去下载
Gitee地址:redisson延时队列demo: springBoot项目使用redisson做延迟队列

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkjijh
系列文章
更多 icon
同类精品
更多 icon
继续加载