gpt4 book ai didi

java - 需要添加/更新持久性rabbitmq队列的参数

转载 作者:行者123 更新时间:2023-12-02 02:06:27 25 4
gpt4 key购买 nike

我想为现有队列配置死信。为此,我尝试将参数(x-dead-letter-queue)添加到我的 Durablerabbitmq 队列中。所以当我更新我的 bean 定义时

来自

@Bean
Queue queue() {
return QueueBuilder.durable("my-queue")
.build();

@Bean
Queue queue() {
return QueueBuilder.durable("my-queue")
.withArgument("x-dead-letter-exchange", "dead-letter.exchange")
.build();
}

我遇到异常

Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'x-dead-letter-exchange' for queue 'my-queue' in vhost '/': received 'dead-letter.exchange' but current is None, class-id=50, method-id=10)

我读到我可以应用策略来更新持久队列。所以,我尝试了下面的命令

rabbitmqctl set_policy dlq_policy_name "my-queue"'{"dead-letter-exchange": "dead-letter.exchange"}'

但是参数仍然没有在队列 my-queue 上设置。

你能帮我实现这个目标吗?

PS。我宁愿避免删除和重新创建队列,但如果这是最后一个选项,那么只有我会考虑。

最佳答案

回答我自己的帖子...

因此,设置策略后,您在队列的参数中看不到策略设置。

检查

rabbitmqctl list_queues name arguments policy

将为您提供队列的参数和策略。

然后我们必须删除 java 代码中的参数设置,并且根据设置的策略队列将起作用。

关于java - 需要添加/更新持久性rabbitmq队列的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57355234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com