An application is receiving messages on a Publish-Subscribe Channel.
How can a subscriber avoid missing messages while it’s not listening for them?
Use a Durable Subscriber to make the messaging system save messages published while the subscriber is disconnected.
A durable subscription saves messages for an inactive subscriber and delivers these saved messages when the subscriber reconnects. In this way, a subscriber will not lose any messages even though it disconnected. A durable subscription has no effect on the behavior of the subscriber or the messaging system while the subscriber is active (e.g., connected). A connected subscriber acts the same whether its subscription is durable or non-durable. The difference is in how the messaging system behaves when the subscriber is disconnected.
... Read the entire pattern in the book Enterprise Integration Patterns
Related patterns:
Guaranteed Delivery, Message Expiration, Point-to-Point Channel, Publish-Subscribe Channel