The value for infinite message TTL in RabbitMQ is null.
However, according to specification, page 31),
If the time-to-live is specified as zero, expiration is set to zero which indicates
the message does not expire.
So, when RMQMessage#setJMSPropertiesFromAmqpProperties is called, it does not fill the JMSExpiration since message expiration is null. Thus, later invocation of getJMSExpiration produces java.lang.NumberFormatException: Null is not a valid long.