The default MessageEvaluationContext does referencing counting and requires a usage pattern that ends in a call to clear(), this pattern has not been applied in a few places in error. The fix for
AMQ-6465 works around the non use of the pattern.
The JMX operations that use a selector do not use that pattern and hence can leak a reference count.
The NonCachedMessageEvaluation context does away with the reference count and this is used in most places. I think it should be used everywhere, the whole selector cache idea never got completed.