Migration and coexistence considerations

 

Except when the SUBSTORE(MIGRATE) option is used, a queue based subscription store and a broker based subscription store are entirely independent.

A durable subscription is created in the subscription store specified by the ConnectionFactory object. If there is a subsequent attempt to create a durable subscription with the same name and ClientID, but with the other subscription store, a new durable subscription is created.

When a connection uses the SUBSTORE(MIGRATE) option, subscription information is automatically migrated from the queue based subscription store to the broker based subscription store when the application calls the createDurableSubscriber() method. If a durable subscription with a matching name and ClientID already exists in the broker based subscription store, the migration cannot complete and an exception is thrown by the createDurableSubscriber() call.

After a subscription is migrated, it is important not to access the subscription from an application using an older version of WebSphere MQ JMS, or from an application running with the SUBSTORE(QUEUE) option. Doing either of these creates a subscription in the queue based subscription store and prevents an application running with the SUBSTORE(MIGRATE) option from using the subscription.

To recover from this situation if it occurs, run your application with the SUBSTORE(BROKER) option, or unsubscribe from the subscription that is held in the queue based subscription store.


uj25190_