gpt4 book ai didi

java - rabbitmq 客户端 AMQP.BasicProperties 如何设置 headers?

转载 作者:行者123 更新时间:2023-12-01 18:39:05 33 4
gpt4 key购买 nike

我的 Delivery 对象具有 BasicProperties。但是 basicproprieties header 内部为空。我需要向 header 添加一个值。我为此使用了构建器模式,因为没有 setter 。

                Integer retryIndex = 1;

if (delivery.getProperties().getHeaders() == null) {
delivery.getProperties().builder().headers(new HashMap<>()).build();
}

if (delivery.getProperties().getHeaders().containsKey(KEY_RETRY_COUNT)){
retryIndex = (Integer) delivery.getProperties().getHeaders().get(KEY_RETRY_COUNT);
retryIndex++;
}

delivery.getProperties().getHeaders().put(KEY_RETRY_COUNT, retryIndex);

当我运行代码第二个 if 条件 if (delivery.getProperties().getHeaders().containsKey(KEY_RETRY_COUNT)) 获取 nullPointEreException 时。有人可以为此提供帮助。

最佳答案

    Delivery del = null;

if (delivery.getProperties().getHeaders() == null) {
Map<String, Object> header = new HashMap<>();
header.put(KEY_RETRY_COUNT, retryIndex);
delivery.getProperties().builder().headers(header).build();

del = new Delivery(delivery.getEnvelope(),
new AMQP.BasicProperties().builder().headers(header).build(),
delivery.getBody());
}

这里我创建了一个新的 Delivery 对象并使用构造函数来设置属性。

关于java - rabbitmq 客户端 AMQP.BasicProperties 如何设置 headers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59979442/

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