Performance

In order to efficiently handle queue consumers with a selector when there is a large backlog of messages in the queue, message headers and properties are cached in the memory of the server for the queue. The caching begins for a given queue the first time a queue consumer with a selector is created.

This may result in an increase of the memory footprint of the server when such queue consumers are created. Both new incoming messages and messages already existing in the backlog are optimized through the server cache. If the server is restarted and a fault tolerant consumer on the queue is restored, then all recovered messages in that queue are optimized.