A JMS publisher uses durable subscriptions to save messages published on a topic to a temporary store. If there is no active subscriber, the JMS provider retains messages until the subscriber receives them and acknowledges receipt, until they expire, or until the durable subscription is deleted.
The PowerCenter Integration Service can create a durable subscription to a JMS provider. When the PowerCenter Integration Service connects to a JMS provider, it receives all messages published on a particular topic before session initialization. It also receives the messages that the JMS publisher sends during the session.
If the PowerCenter Integration Service receives durable messages and the session ends before it receives the messages, the messages are available when the JMS subscriber restarts. If the PowerCenter Integration Service does not receive durable messages and the session ends before it receives messages, the JMS provider deletes the messages.
When a session completes successfully, the PowerCenter Integration Service can delete the durable subscription, or it can remain subscribed. If the PowerCenter Integration Service deletes the durable subscription, it can no longer receive messages that the JMS subscriber publishes on the topic when the session is not running. If the PowerCenter Integration Service remains subscribed, it can receive messages that the JMS subscriber publishes on the topic when the session is not running.
To configure a session for a durable subscription, complete the following steps in the session properties:
Select a JMS application connection with the topic as the destination type.
Set the JMS subscription mode to durable.
Enter a durable subscription name.
Select to unsubscribe or remain subscribed to the durable subscription.
Enter unique subscription names within a client ID. The JMS provider stores messages published to a topic according to the durable subscription name in the session properties and the client ID in the connection factory. The JMS provider uses the subscription name to deliver messages to the subscriber.