Things are going very well at Clever Coney Media. The user messaging feature gets traction as more and more users learn how to use it. After a few months of activity, one thing becomes clear though: some users don't log in to the application often, which leads to messages piling up in their inbox queues. Though the amount of data is not detrimental (yet), the idea of having messages lying around in queues, potentially forever, is not satisfactory. Imagine users logging in after a couple of weeks of vacation and being flooded with obsolete messages—this is the negative type of user experience that CCM is keen on avoiding.
CCM decides to address this by specifying a new rule: after one week, any user message not delivered will be either:
E-mailed to the user if it's a direct user-to-user message and if the user has opted for an e-mail fallback
Discarded if it's a topic or a public address message
So, users turn to RabbitMQ to find out what is offered in terms of message expiration...