Durable Topic Subscriptions
Durable topics persist messages so that if a subscriber is not online, it can receive the messages later. A durable topic subscription is useful when an application needs to be able to receive messages that are published even when the application is inactive. Â
Creating a durable topic subscriber is similar to creating a nondurable message consumer, but you must also provide a name that identifies the durable subscription, as in the following example:
// Create a durable subscriber, supplying a uniquely-identifying name TopicSubscriber sub = session.createDurableSubscriber( topic, "mySub1_0001" );
Nondurable message consumers in the publish/subscribe domain automatically deregister themselves when their close()
method is called, or when they fall out of scope. However, if you want to terminate a durable subscription, you must explicitly notify the broker. To do this, use the unsubscribe()
method of the session and pass in the name that identifies the durable subscription:
// Unsubscribe the durable subscriber created above session.unsubscribe( "mySub1_0001" );
For an example of how to use durable topic subscriptions, see Durable Topic Subscription Sample.