rabbitmq клиент AMQP.BasicProperties Как установить заголовки? - PullRequest
0 голосов
/ 30 января 2020

Мой объект Delivery имеет BasicProperties. Но внутри заголовка basicproprieties указаны значения null. Мне нужно добавить значение к заголовкам. Я использовал шаблон для этого, потому что там нет сеттера.

                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 (delivery.getProperties (). getHeaders (). containsKey (KEY_RETRY_COUNT)), получая nullPointErexception. кто-то может помочь в этом.

1 Ответ

0 голосов
/ 05 февраля 2020
    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 и использую конструктор для установки свойств.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...