Java rabbitmq客户端AMQP.BasicProperties如何设置标头?
我的传递对象具有BasicProperties。但是BasicProperties标头内部为空。我需要向标头添加一个值。我为此使用了生成器模式,因为没有setterJava rabbitmq客户端AMQP.BasicProperties如何设置标头?,java,spring-boot,rabbitmq,Java,Spring Boot,Rabbitmq,我的传递对象具有BasicProperties。但是BasicProperties标头内部为空。我需要向标头添加一个值。我为此使用了生成器模式,因为没有setter Integer retryIndex = 1; if (delivery.getProperties().getHeaders() == null) { delivery.getProperties().builder().he
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);
整数重试索引=1;
if(delivery.getProperties().getHeaders()==null){
delivery.getProperties().builder().headers(新HashMap()).build();
}
if(delivery.getProperties().getHeaders().containsKey(KEY\u RETRY\u COUNT)){
retryIndex=(整数)delivery.getProperties().getHeaders().get(键\u重试\u计数);
retryIndex++;
}
delivery.getProperties().getHeaders().put(键重试计数,重试索引);
当我运行代码时,如果条件if(delivery.getProperties().getHeaders().containsKey(KEY\u RETRY\u COUNT))获取nullPointErexception,则执行第二个if条件。
有些人可以在这方面提供帮助。Delivery=null;
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());
}
if(delivery.getProperties().getHeaders()==null){
Map header=newhashmap();
header.put(KEY\u RETRY\u COUNT,retryIndex);
delivery.getProperties().builder().headers(header.build();
del=新交付(Delivery.getEnvelope(),
新建AMQP.BasicProperties().builder().header(header.build(),
delivery.getBody());
}
在这里,我创建了一个新的交付对象,并使用构造函数来设置属性。好的,文档中非常清楚如何做到这一点。。。您首先使用什么代码设置
基本属性
?