[英]Spring AMQP Get Existing Queue Names and Argument
我们在生产中有一个队列,其中消息 TTL 是通过应用程序设置的。 现在我们想通过兔子 CTL 更改消息 TTL 和附加策略,而不是在应用程序中设置。 片段:
Map<String, Object> args = new HashMap<>();
args.put("x-message-ttl", 86400000);
for (String queueName : queueNames) {
Queue queue = new Queue(queueName, true, false, false, args);
admin.declareQueue(queue);
...
}
为了在运行的应用程序中实现这一点,我们需要验证队列是否已经存在的方法,否则什么都不做,否则创建没有参数的新队列。 无法利用本地缓存,因为多个发布者/订阅者节点可以在计划外中断情况下重新启动。 如果有一个 API 来获取所有现有队列及其参数属性,上面将能够更改 TTL?
注意:用不同的值覆盖 x-message-ttl 会引发错误。
RabbitMQ 有一个 REST API 和一个Z93F725A07423FE1C8846F448B33D21 客户端。
您可以使用它来获取有关现有元素(例如队列)的信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.