IBM Support

IT08889: A WEBSPHERE MQ JMS CLIENT REPORTS A MQJMS3023 EXCEPTION WHEN THE QUEUE MANAGER HAS ENDED ABRUPTLY

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

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":"BU048","label":"IBM Software"},"Product":{"code":"SSCPQ63","label":"APAR \/ Maintenance"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
07 September 2015