My Delivery object has BasicProperties.But inside the basicproprieties headers are null.I need to add a value to headers.I used builder pattern for this becourse of there don't have 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);
when i'm run the code second if condition if (delivery.getProperties().getHeaders().containsKey(KEY_RETRY_COUNT)) getting nullPointErexception. some one can help on this.
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());
}
Here i create a new Delivery object and use the constructor to set the properties.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.