如何在不更改代码库的情况下在应用程序中测试 RabbitMQ 消息 TTL

How does RabbitMQ message TTL can be tested in an application without changing it from codebase

我有一个关于 RabbitMQ 消息 TTL 的问题。在我的应用程序中,我将消息 TTL 设置为 1 month from the code level 。如果我需要检查 TTL 是否有效,我该如何在不修改代码级别的情况下执行此操作。(我没有设置任何消费者,因此消息将保留在队列中,我可以通过 RabbitMQ 管理插件看到这一点网页 UI)

例如:我通过将 TTL 设置为每月的毫秒数来发布消息。那我能不能把主机的系统时间改回一个月前,然后看到消息被丢弃了??这可能吗?

我通过将 ttl 设置为 5 分钟进行了快速测试,然后将系统日期时间提前了 10 分钟。

Rabbit MQ Admin 界面的右上角有一个时钟,您可以看到当前系统日期时间的变化。

消息已从队列中删除,因此可以测试您的方案。