Description
At present, persistent messages are put into the message store regardless whether they can/will be enqueued on a queue. When it is determined they cannot be routed, they are not removed from the store. As a result, it is left until startup recovery sequence until they are determined to be orphans and are ejected from the store. This process can dramatically slow startup time and should be undertaken as soon as it is known the message is to be discard (or even just stop them being commited/flushed to the store at all - they should be known to the store though to ensure a message id is assigned).