IBM Support

PM76316: JMSEXCEPTIONS NOT RELATED TO CONNECTION ERRORS CAUSE ROLLBACK AND CONNECTION CLEANUP

Fixes are available

8.5.0.2: WebSphere Application Server V8.5 Fix Pack 2
8.0.0.6: WebSphere Application Server V8.0 Fix Pack 6
7.0.0.29: WebSphere Application Server V7.0 Fix Pack 29
8.0.0.7: WebSphere Application Server V8.0 Fix Pack 7
8.0.0.8: WebSphere Application Server V8.0 Fix Pack 8
7.0.0.31: WebSphere Application Server V7.0 Fix Pack 31
7.0.0.33: WebSphere Application Server V7.0 Fix Pack 33
8.0.0.9: WebSphere Application Server V8.0 Fix Pack 9
7.0.0.35: WebSphere Application Server V7.0 Fix Pack 35
8.0.0.10: WebSphere Application Server V8.0 Fix Pack 10
7.0.0.37: WebSphere Application Server V7.0 Fix Pack 37
8.0.0.11: WebSphere Application Server V8.0 Fix Pack 11
7.0.0.39: WebSphere Application Server V7.0 Fix Pack 39
8.0.0.12: WebSphere Application Server V8.0 Fix Pack 12
7.0.0.41: WebSphere Application Server V7.0 Fix Pack 41
8.0.0.13: WebSphere Application Server V8.0 Fix Pack 13
7.0.0.43: WebSphere Application Server V7.0 Fix Pack 43
8.0.0.14: WebSphere Application Server V8.0 Fix Pack 14
7.0.0.45: WebSphere Application Server V7.0 Fix Pack 45
8.0.0.15: WebSphere Application Server V8.0 Fix Pack 15
7.0.0.29: Java SDK 1.6 SR13 FP2 Cumulative Fix for WebSphere Application Server
7.0.0.45: Java SDK 1.6 SR16 FP60 Cumulative Fix for WebSphere Application Server
7.0.0.31: Java SDK 1.6 SR15 Cumulative Fix for WebSphere Application Server
7.0.0.35: Java SDK 1.6 SR16 FP1 Cumulative Fix for WebSphere Application Server
7.0.0.37: Java SDK 1.6 SR16 FP3 Cumulative Fix for WebSphere Application Server
7.0.0.39: Java SDK 1.6 SR16 FP7 Cumulative Fix for WebSphere Application Server
7.0.0.41: Java SDK 1.6 SR16 FP20 Cumulative Fix for WebSphere Application Server
7.0.0.43: Java SDK 1.6 SR16 FP41 Cumulative Fix for WebSphere Application Server

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using WebSphere MQ JMS in WebSphere Application Server,
    most JMSExceptions that are not related to errors with the
    actual connection to the Queue Manager cause the JMS
    Connection to be cleaned up.  This in turn causes any global
    transactions where the affected JMS Session has enlisted to be
    rolled back.
    
    An example of such a JMSException is one with MQRC 2031
    (MQRC_MSG_TOO_BIG_FOR_Q_MGR).  This does not include
    JMSExceptions covered by APAR PM08978.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server and WebSphere MQ JMS                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: JMSExceptions not related to Queue      *
    *                      Manager connection errors cause         *
    *                      connection clean up and transaction     *
    *                      rollback.                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a JMSException occurs, only MQRCs covered by APAR PM08978
    are checked to determine if the connection needs to be cleaned
    up (if APAR PM08978 is installed).  There are many MQRCs which,
    when encountered, should not cause the connection to be
    cleaned up.  For example MQRC_MSG_TOO_BIG_FOR_Q_MGR.
    As a result many JMSExceptions result in connection clean up
    when such action is not necessary.
    

Problem conclusion

  • This APAR introduces a custom property called:
    
    'check.is.connection.broken' (default 'false')
    
    When not set there is no change in behaviour.
    
    The property can be set on the connection factory:
    
    Resources -> JMS -> (Queue/Topic) Connection factories ->
    <connection
    factory> -> Custom properties
    
    Select New and create a property:
    
    Name = 'check.is.connection.broken'
    Value = 'true'
    
    When this property is set to 'true', any JMSExceptions that
    occur when using a JMS Connection or JMS Session created using
    this factory will first check if the MQRC is one that implies
    connection cleanup is necessary.  MQRCs that imply connection
    cleanup is necessary are:
    
    MQRC_CONNECTION_BROKEN, MQRC_UNEXPECTED_ERROR,
    MQRC_Q_MGR_NOT_AVAILABLE, MQRC_CONNECTION_ERROR,
    MQRC_Q_MGR_QUIESCING, MQRC_Q_MGR_STOPPING,
    MQRC_CHANNEL_STOPPED_BY_USER, MQRC_CONNECTION_STOPPING
    ,MQRC_CONNECTION_QUIESCING, MQRC_Q_MGR_NOT_ACTIVE,
    MQRC_CF_STRUC_FAILED
    
    Only if the MQRC is one of these will the connection be
    cleaned up and any global transaction the JMS Session is
    enlisted with rolled back.  The transaction rollback happens
    as a consequence of the connection clean up.
    
    If the JMSException MQRC is not one of the ones above, then it
    is simply thrown to the application.  Depending on how the
    application is coded, any global transaction may or may not be
    rolled back.
    
    The fix for this APAR is currently targeted for inclusion in
    fix pack 7.0.0.29, 8.0.0.6 and 8.5.0.2.  Please refer to the
    Recommended Updates page for delivery information:
    
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM76316

  • Reported component name

    WEBSPHERE APP S

  • Reported component ID

    5724J0800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-11-01

  • Closed date

    2012-11-28

  • Last modified date

    2012-11-28

  • 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

    WEBSPHERE APP S

  • Fixed component ID

    5724J0800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
29 October 2021