Advertisement

优化Redisson延迟队列(delayQueue)在take操作时出现阻塞现象

阅读量:

1、场景描述如下

在服务器完成重启操作之后,延迟队列在执行take数据操作时出现阻塞现象,无法正常进行处理。此时必须等待下一次内容offer操作的触发,队列才会将此前处于阻塞状态的消息全部进行处理。

2、解决方案

在程序初始化阶段,需要再次调用延时队列所提供的getDelayedQueue方法

复制代码
    RDelayedQueue<String> delayedQueue = redissonClient.getDelayedQueue(blockingQueue);
    
    AI写代码html

3、以下为伪代码示例

复制代码
    offer元素到延时队列
    
    AI写代码html
复制代码
   @RequestMapping("/test")

    
     public String test() {
    
     RBlockingQueue<String> blockingQueue = redissonClient.getBlockingQueue("RDelayedQueue");
    
     RDelayedQueue<String> delayedQueue = redissonClient.getDelayedQueue(blockingQueue);
    
     delaye

全部评论 (0)

还没有任何评论哟~