Description
Given:
- broker with disabled persistence
- non-transactional sessions with AUTO_ACKNOWLEDGE
- topic
When:
- there is inactive durable subscription
- messages are sent to that topic with DeliveryMode.PERSISTENT
- subscription becomes active and all messages are delivered to the durable consumer
Then:
- messages are kept in brokers memory (visible in memoryPercentUsage, on heap etc)
When:
- messages expiration time or TTL is elapsed
Then:
- messages are still kept in brokers memory (visible in memoryPercentUsage, on heap etc)
Messages are kept also when message selector of durable subscription does not match messages sent to topic. Changing DeliveryMode to NON_PERSISTENT makes the messages not kept.
Attached test case.