IBM Support

IC91408: WMQ CLASSES FOR JAVA V7 IN AN XA TRANSACTION DO NOT REMOVE THE CONNECTION EVENT LISTENER WHEN DISCONNECTING A JDBC CONNECTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A WebSphere MQ v7 Classes for Java application that is
    making use of XA Transactions using a JTA/JDBC coordination
    with an Oracle database, and disconnects the connection to the
    database either as part of the
    Queue Manager disconnect() or Connection.close() can see the
    following exception be thrown if the application then goes on to
    set up a new connection to the database in
    MQQueueManager.getJDBCConnection:
    .
    XAtoJTA.connectionErrorOccurred(javax.sql.ConnectionEvent)()
    rc=0
    [0x66fdfc58] Exception caught [idx=1]: java.sql.SQLException:
    Closed Connection.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the WebSphere MQ Classes for Java
    V7.0.1, V7.1 or V7.5 that are making use of JTA/JDBC
    coordination with an Oracle database
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java
    ****************************************************************
    PROBLEM SUMMARY:
    A WebSphere MQ Classes for Java V7 Client application that is
    making use of JTA/JDBC coordination with an Oracle database,
    retrieves
    a physical connection to the database from the database provider
    via the MQQueueManager.getJDBCConnection() method. This
    connection is used to perform database work as part of a
    transaction. When all the necessary work has been performed the
    connection is closed in the application, either directly via the
    Connection.close() method or as part of the
    MQQueueManager.disconnect() method.
    
    When the connection is initially provided by the database
    provider (Oracle) the WebSphere MQ Classes for Java add a
    Connection Event Listener so that any connection events can be
    monitored. When the connection is closed in the application this
    Connection Event Listener is not always explicitly removed by
    the WebSphere MQ Classes for Java.
    
    If the database provider is making use of connection pooling it
    has been observed that the connection can be returned to the
    pool (following closure) with the Connection Event Listener
    still attached. If the WebSphere MQ Classes for Java application
    then requests a new connection it is possible that the same
    connection that was previously closed is provided by the
    database provider with the Connection Event Listener still
    attached. In this case the following exception will be thrown
    when the application attempts to make use of the connection:
    "java.sql.SQLException: Closed Connection".
    

Problem conclusion

  • To request that the Connection Event Listener is removed when
    the
    connection is closed either via the Connection.close() or
    MQQueueManager.disconnect() methods, a new WebSphere MQ classes
    for Java JVM System Property has been created:
    
    com.ibm.mq.jdbc.removeConnectionEventListener
    
    This property takes as a value a boolean which indicates whether
    the property is enabled. It can be configured as a
    JVM startup argument - for example to enable the property, the
    JVM argument would be:
    
    -Dcom.ibm.mq.jdbc.removeConnectionEventListener=true
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
                       v7.0
    Platform           Fix Pack 7.0.1.11
    --------           --------------------
    Windows            7.0.1.11
    AIX                7.0.1.11
    HP-UX (PA-RISC)    7.0.1.11
    HP-UX (Itanium)    7.0.1.11
    Solaris (SPARC)    7.0.1.11
    Solaris (x86-64)   7.0.1.11
    iSeries            7.0.1.11
    Linux (x86)        7.0.1.11
    Linux (x86-64)     7.0.1.11
    Linux (zSeries)    7.0.1.11
    Linux (Power)      7.0.1.11
    
                       v7.1
    Platform           Fix Pack 7.1.0.4
    --------           --------------------
    Windows            7.1.0.4
    AIX                7.1.0.4
    HP-UX (Itanium)    7.1.0.4
    Solaris (SPARC)    7.1.0.4
    Solaris (x86-64)   7.1.0.4
    iSeries            7.1.0.4
    Linux (x86)        7.1.0.4
    Linux (x86-64)     7.1.0.4
    Linux (zSeries)    7.1.0.4
    Linux (Power)      7.1.0.4
    
    Platform           v7.5
    --------           --------------------
    Multiplatforms     7.5.0.3
    
    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

    IC91408

  • 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

    2013-04-08

  • Closed date

    2013-05-29

  • Last modified date

    2013-05-29

  • 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:
29 May 2013