As you wrote the test originally, can you take a look at the test please?
I've changed the receive(timeout), but I'm not sure if that is hiding a test failure.
I'll take a look
Ok, so this is failing because of changes in the way we now route.
If 2 messages are routed to 2 queues 'A' and 'B' and then both subsequently canceled we check the redelivery delay and if its not 0 we reschedule the message with that delay. If queue 'A' has no delivery delay but queue 'B' has a 5 second delay, we update the journal to say that the reference for queue 'B' has a scheduled delivery time.
Now If the server is restarted we check the record for a scheduled delivery time and if it is not 0 we set it as a property on the message before rerouting via the queue. The problem here is that once it is set then every time it is rerouted to any other queue it uses the same redelivery value. Previously we didn't set the property but after routing it would be set on the reference before adding to the queue.
I just need to unset the header before routing to the next one.
I'll fix it.