I think I got it. With activemq-core-5.7.0, there's a clear difference between doing and non-doing the following:
policyEntry.setPendingDurableSubscriberPolicy(new StorePendingDurableSubscriberMessageStoragePolicy()); One resulting difference was that, StoreDurableSubscriberCursor#topics member variable (TopicStorePrefetch map) was empty when I used the above setting. This was because the instance of StoreDurableSubscriberCursor class is created 3 times with the above line, while it was created only once without the above line. Moreover, when the above line is used, TopicStorePrefetch instance is set to the 2nd instance of StoreDurableSubscriberCursor while the one actually being used during the processing was the third. In other words, at runtime, Topic is working without any TopicStorePrefetch cursor... I'm looking into the sources more to know why this is happening... -- View this message in context: http://activemq.2283324.n4.nabble.com/cursor-memory-usage-limit-vs-memory-usage-limit-tp4669679p4670035.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.