Rabbitmq 错误 CachingConnectionFactory:1302 - 通道关闭:通道错误;

阿提克

我收到此错误

错误 CachingConnectionFactory:1302 - 通道关闭:通道错误;协议方法:#method(reply-code=406,reply-text=PRECONDITION_FAILED - vhost 'qa40' 中队列 'xyz.xyz.dlq' 的不等价 arg 'x-message-ttl':收到类型的值 '10000' 'signedint' 但当前没有,class-id=50,method-id=10)

我的配置文件有这个

spring.cloud.stream.bindings.xyz.destination=xyz
spring.cloud.stream.bindings.xyz.group=xyz_group
spring.cloud.stream.bindings.xyz.consumer.max-attempts=1
spring.cloud.stream.rabbit.bindings.xyz.consumer.republish-to-dlq=true
spring.cloud.stream.rabbit.bindings.xyz.consumer.requeue-rejected=false
spring.cloud.stream.rabbit.bindings.xyz.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.bindings.xyz.consumer.dlq-ttl=10000
spring.cloud.stream.rabbit.bindings.xyz.consumer.dlq-dead-letter-exchange=

我正在使用延迟交换即

public class xyzDlqConsumer extends RerouteDLQMessages {

    private final static String QUEUE_NAME = xyz.xyz_group;
    private final static String DLQ = QUEUE_NAME + ".dlq";

    public String getOriginalQueue() {
        return QUEUE_NAME;
    }

    @RabbitListener(queues = DLQ)
    private void callRepublish(Message failedMessage) {
        rePublish(failedMessage);
    }
}

public abstract class RerouteDLQMessages {

    private static final String X_RETRIES_HEADER = "x-retries";
    private static final String DELAY_EXCHANGE = "dlqReRouter";
    @Value("${RETRIES_COUNT}") . //3
    private Integer retriesCount;
    @Value("${DELAY_TIME}") //10000
    private Integer messageDelay;
    @Autowired
    private RabbitTemplate rabbitTemplate;


    protected abstract String getOriginalQueue();

    public void rePublish(Message failedMessage) {

        Map<String, Object> headers = failedMessage.getMessageProperties().getHeaders();
        Integer retriesHeader = (Integer) headers.get(X_RETRIES_HEADER);
        if (retriesHeader == null) {
            retriesHeader = Integer.valueOf(0);
        }

        if (retriesHeader < retriesCount) {
            headers.put(X_RETRIES_HEADER, retriesHeader + 1);
            headers.put("x-delay", messageDelay * retriesHeader);
            this.rabbitTemplate.send(DELAY_EXCHANGE, getOriginalQueue(), failedMessage);
        } else {

            //do whatever you want after three attempts
        }
    }

    @Bean
    public DirectExchange delayExchange() {
        DirectExchange exchange = new DirectExchange(DELAY_EXCHANGE);
        exchange.setDelayed(true);
        return exchange;
    }

    @Bean
    public Binding bindOriginalToDelay() {
        return BindingBuilder.bind(new Queue(getOriginalQueue())).to(delayExchange()).with(getOriginalQueue());
    }
}
加里·拉塞尔

错误信息说明了一切;

vhost 'qa40' 中队列 'xyz.xyz.dlq' 的不等价 arg 'x-message-ttl':收到类型 'signedint' 的值 '10000' 但当前为 none,class-id=50,method-id= 10)

队列是不可变的;在创建它们后,您无法更改它们的属性。

您正在尝试声明一个 ttl 设置为 10000 的队列,而该名称已经存在一个没有 ttl 的队列current is none

你不能那样做;如果要添加 ttl,则必须删除并重新创建队列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“通道关闭:连接错误”

来自分类Dev

使用rabbitmq 和django 通道时出现msgpack 错误

来自分类Dev

错误4:从“错误”中选择“消息”,在“错误”中= 1302

来自分类Dev

子进程错误:错误:通道关闭-节点+原子

来自分类Dev

如何在包含入站适配器,出站适配器,错误通道并使用相同的CachingConnectionfactory配置的流中处理jms会话

来自分类Dev

如何在包含入站适配器,出站适配器,错误通道并使用相同的CachingConnectionfactory配置的流中处理jms会话

来自分类Dev

从通道返回错误

来自分类Dev

正确关闭RabbitMQ通道和连接

来自分类Dev

通道中出现CoroutineContext错误

来自分类Dev

RabbitMQ错误超时

来自分类Dev

RabbitMQ匹配错误

来自分类Dev

RabbitMQ匹配错误

来自分类Dev

ECM错误:基础连接已关闭:无法建立SSL / TLS安全通道的信任关系

来自分类Dev

仅接收器应用程序停止 - 通道关闭(smfclient 2)没有错误

来自分类Dev

Spring Integration队列通道容量错误

来自分类Dev

错误:IPC通道已断开连接

来自分类Dev

Spring Integration错误通道解决方案

来自分类Dev

Spring Cloud Stream Kafka 错误通道

来自分类Dev

RabbitMq错误-连接被拒绝:连接

来自分类Dev

配置文件“ /etc/rabbitmq/rabbitmq.config”中的RabbitMQ错误:之前的语法错误:“]”

来自分类Dev

RabbitMQ 队列的第一条消息导致通道关闭

来自分类Dev

ssh错误消息中的通道号指的是什么?

来自分类Dev

Spring集成错误通道在JUnit中没有消息

来自分类Dev

通过IPC通道从生成的子进程发送错误对象

来自分类Dev

Spring Integration Amqp通道错误处理程序自动确认

来自分类Dev

vb6 winhhtp:安全通道支持中发生错误

来自分类Dev

REST API错误“ CORS预检通道未成功”

来自分类Dev

Laravel Pusher存在通道身份验证错误

来自分类Dev

Jenkins SEVERE:通道块连接中的I / O错误

Related 相关文章

  1. 1

    “通道关闭:连接错误”

  2. 2

    使用rabbitmq 和django 通道时出现msgpack 错误

  3. 3

    错误4:从“错误”中选择“消息”,在“错误”中= 1302

  4. 4

    子进程错误:错误:通道关闭-节点+原子

  5. 5

    如何在包含入站适配器,出站适配器,错误通道并使用相同的CachingConnectionfactory配置的流中处理jms会话

  6. 6

    如何在包含入站适配器,出站适配器,错误通道并使用相同的CachingConnectionfactory配置的流中处理jms会话

  7. 7

    从通道返回错误

  8. 8

    正确关闭RabbitMQ通道和连接

  9. 9

    通道中出现CoroutineContext错误

  10. 10

    RabbitMQ错误超时

  11. 11

    RabbitMQ匹配错误

  12. 12

    RabbitMQ匹配错误

  13. 13

    ECM错误:基础连接已关闭:无法建立SSL / TLS安全通道的信任关系

  14. 14

    仅接收器应用程序停止 - 通道关闭(smfclient 2)没有错误

  15. 15

    Spring Integration队列通道容量错误

  16. 16

    错误:IPC通道已断开连接

  17. 17

    Spring Integration错误通道解决方案

  18. 18

    Spring Cloud Stream Kafka 错误通道

  19. 19

    RabbitMq错误-连接被拒绝:连接

  20. 20

    配置文件“ /etc/rabbitmq/rabbitmq.config”中的RabbitMQ错误:之前的语法错误:“]”

  21. 21

    RabbitMQ 队列的第一条消息导致通道关闭

  22. 22

    ssh错误消息中的通道号指的是什么?

  23. 23

    Spring集成错误通道在JUnit中没有消息

  24. 24

    通过IPC通道从生成的子进程发送错误对象

  25. 25

    Spring Integration Amqp通道错误处理程序自动确认

  26. 26

    vb6 winhhtp:安全通道支持中发生错误

  27. 27

    REST API错误“ CORS预检通道未成功”

  28. 28

    Laravel Pusher存在通道身份验证错误

  29. 29

    Jenkins SEVERE:通道块连接中的I / O错误

热门标签

归档