-
Notifications
You must be signed in to change notification settings - Fork 49
Closed
Description
Describe the bug
When receiving a message in "amqp mode" with a "Redelivered" flag set, and the given message does not contain any headers, then a NPE is thrown.
Reproduction steps
- Initialize the "RMQDestination" with Routing Key and Exchange Name ("amqp mode").
- Put a message in the queue, with "relivered" flag set and no headers.
- Try to receive the message
Expected behavior
No NPE is thrown, and the code runs into the branch where deliveryCount == null, which sets the JMSXDeliveryCount is set to "2".
Additional context
Stacktrace (shortened):
java.lang.NullPointerException: Cannot invoke "java.util.Map.get(Object)" because the return value of "com.rabbitmq.client.AMQP$BasicProperties.getHeaders()" is null
at com.rabbitmq.jms.client.RMQMessage.handleJmsRedeliveredAndDeliveryCount(RMQMessage.java:886) ~[rabbitmq-jms.jar:2.8.0]
at com.rabbitmq.jms.client.RMQMessage.convertAmqpMessage(RMQMessage.java:866) ~[rabbitmq-jms.jar:2.8.0]
at com.rabbitmq.jms.client.RMQMessage.convertMessage(RMQMessage.java:835) ~[rabbitmq-jms.jar:2.8.0]
at com.rabbitmq.jms.client.RMQMessageConsumer.receive(RMQMessageConsumer.java:358) ~[rabbitmq-jms.jar:2.8.0]
at com.rabbitmq.jms.client.RMQMessageConsumer.receive(RMQMessageConsumer.java:272) ~[rabbitmq-jms.jar:2.8.0]