APAR status
Closed as program error.
Error description
An 'MQJMS3023: Subscription has an active TopicSubscriber' is reported when a connection for a durable subscription receiving messages is closed because the queue manager is no longer available.
Local fix
Re-start the application server
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of: - The WebSphere MQ V7.0.1 classes for JMS. - The WebSphere MQ V7.0.1 resource adapter. - The WebSphere MQ V7.1 classes for JMS. - The WebSphere MQ V7.1 resource adapter. - The WebSphere MQ V7.5 classes for JMS. - The WebSphere MQ V7.5 resource adapter. - The IBM MQ V8.0 classes for JMS. - The IBM MQ V8.0 resource adapter. - The WebSphere Application Server V7.0 WebSphere MQ messaging provider. - The WebSphere Application Server V8.0 WebSphere MQ messaging provider. - The WebSphere Application Server V8.5 WebSphere MQ messaging provider. who have applications that: - Connect to WebSphere MQ using WebSphere MQ messaging provider migration mode. - Perform publish/subscribe messaging. - Use a Connection Factory that has the SUBSTORE property set to either BROKER or MIGRATE, and the CLONESUPP property set to ENABLED. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The Connection Factory property CLONESUPP is used to enable "Clone Support" functionality. When this functionality is enabled, it is possible for two or more applications running inside of different Java Runtime Environments to share the same durable subscription. When a durable subscription on a topic is shared by two or more applications, the WebSphere MQ Publish/Subscribe Broker will ensure that if a message is published on the topic, a copy of that message is only sent to one of the applications that has taken out the subscription. When applications connect to WebSphere MQ using WebSphere MQ messaging provider migration mode, "Clone Support" is only supported if the Connection Factory being used by the application has the SUBSTORE property set to BROKER or MIGRATE. In this mode of operation, the WebSphere MQ classes for JMS maintain an internal list of all of the durable subscriptions that have been taken out by applications running inside of the Java Runtime Environment. When an application wants to create a new durable subscription using one of the methods shown below: - Session.createDurableSubscription(Topic, String) - Session.createDurableSubscription(Topic, String, String, boolean) and "Clone Support" is being used, then the WebSphere MQ classes for JMS will check the internal list to ensure that no other application inside of the Java Runtime Environment is using that subscription. If another application is using the subscription, then the method will throw a JMSException containing the message: MQJMS3023: Subscription has an active TopicSubscriber If the subscription is not being used by another application, then details of the subscription are added to the list and the subscription is created. Entries are removed from the list when an application closes the MessageConsumer using the durable subscription by calling: MessageConsumer.close() This logic ensures that only one application inside a Java Runtime Environment can use a specific durable subscription. If an application tried to close a MessageConsumer, and received an error indicating that the connection to the queue manager where the subscription had been taken out had been broken, then the WebSphere MQ classes for JMS failed to remove details of the subscription from its internal list. As a result of this, if the application reconnected to the queue manager and tried to reopen the durable subscription again by calling either of the methods shown below: - Session.createDurableSubscription(Topic, String) - Session.createDurableSubscription(Topic, String, String, boolean) then a JMSException containing the message: MQJMS3023: Subscription has an active TopicSubscriber was thrown. The only way for the application to reopen the durable subscription was to stop and restart the Java Runtime Environment that the application was running in.
Problem conclusion
The WebSphere MQ classes for JMS have been updated so that, if an application tries to close a MessageConsumer which was using a durable subscription, and the queue manager that the MessageConsumer was connected to is no longer available, it will remove details of the durable subscription from its internal list. This allows the application to reopen the durable subscription after it has reconnected to the queue manager. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.0 7.0.1.14 v7.1 7.1.0.8 v7.5 7.5.0.6 v8.0 8.0.0.4 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT08889
Reported component name
WMQ WINDOWS V7
Reported component ID
5724H7220
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-05-13
Closed date
2015-09-07
Last modified date
2015-09-07
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WMQ WINDOWS V7
Fixed component ID
5724H7220
Applicable component levels
R701 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023