程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Rabbitmq 处理消息后等待大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Rabbitmq 处理消息后等待?

开发过程中遇到Rabbitmq 处理消息后等待的问题如何解决?下面主要结合日常开发的经验,给出你关于Rabbitmq 处理消息后等待的解决方法建议,希望对你解决Rabbitmq 处理消息后等待有所启发或帮助;

我有以下兔子听众:

@Slf4j
@service
@requiredArgsConstructor
@RabbitListener(queues = "${spring.rabbitmq.template.default-receive-queuE}")
public class RabbitmqListener {
    private final Processor processor;

    @RabbitHandler(isDefault = truE)
    public voID receivemessage(List<String> someData) {
        log.info("Received {} some data",someData.size());
        processor.process(someData);
        //should wait for 15 minutes here
    }
}

我需要将侦听器配置为在处理完一条消息后等待 15 分钟,然后再接收下一条消息。无需在此方法内等待。我所需要的只是在处理一条消息后不接收任何消息。它可以通过 Thread.sleep(15000) 完成,但我不确定这是实现这一目标的最佳方式。有没有针对这种情况的rabbitmq配置?

解决方法

Thread.sleep(15000) 将等待 15 秒,而不是 15 分钟。

睡15分钟可能不是一个好主意;如果您只需要休眠 15 秒,那么休眠可能没问题(但如果服务器在您休眠时崩溃,您确实会面临重新交付的风险)。

对于此用例,您可能需虑使用 RabbitTemplate.receiveAndConvert(),而不是使用消息驱动的架构。

大佬总结

以上是大佬教程为你收集整理的Rabbitmq 处理消息后等待全部内容,希望文章能够帮你解决Rabbitmq 处理消息后等待所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: