IBM Support

IC94850: WMQ 7.1 INFORMATION CENTER INCORRECTLY STATES THAT INTERFACE JMSCONNECTION IS SERIALIZABLE.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as documentation error.

Error description

  • WebSphere MQ 7.1 Information Center under the following section
    Developing applications ->
    Using WebSphere MQ classes for JMS ->
    JmsConnection
    Interface JmsConnection
    All Superinterfaces: Connection, JmsPropertyContext,
    JmsReadablePropertyContext, Map<String,Object>, Serializable
    
    The JavaDoc is incorrect. The JmsConnection interface, and the
    classes that implement this interface, are not serializable.
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of:
    
    - The WebSphere MQ V7.1 classes for JMS.
    - The WebSphere MQ V7.1 Resource Adapter.
    - The WebSphere MQ V7.1 classes for JMS OSGi bundle.
    - The WebSphere MQ V7.5 classes for JMS.
    - The WebSphere MQ V7.5 Resource Adapter.
    - The WebSphere MQ V7.5 classes for JMS OSGi bundle.
    - The WebSphere Application Server V8.5 WebSphere MQ messaging
    provider.
    
    who have applications that serialize and deserialize
    JMSConnection, JMSQueueConnection and JMSTopicConnection
    objects.
    
    Platforms affected:
    All Distributed (iSeries, all Unix and Windows) +Java +Java zOS
    ****************************************************************
    PROBLEM SUMMARY:
    When a Java application serializes an object, state information
    about that object is written to an output stream, such as a
    file. The contents of output stream can then be read at a later
    date, to reconstruct (or deserialize) the Java object so that
    it can be reused.
    
    The JMSConnection, JMSQueueConnection and JMSTopicConnection
    interfaces provided by the WebSphere MQ classes for JMS are
    implemented by objects that represent an active connection from
    an application to a WebSphere MQ queue manager. There is a
    WebSphere MQ connection handle (hconn) associated with every
    JMSConnection, JMSQueueConnection and JMSTopicConnection object
    that is created by an application.
    
    Serializing a JMSConnection, JMSQueueConnection and
    JMSTopicConnection object would result in state information
    about those objects being written to an output stream. This
    included information about the connection handle to WebSphere
    MQ that was associated with the object.
    
    However, there was no guarantee that the connection handle
    would still be valid when the JMSConnection, JMSQueueConnection
    or JMSTopicConnection object was deserialized and resused,
    which could lead to unexpected behaviour.
    
    To prevent applications running into these issues, the
    WebSphere MQ V7.1 and V7.5 classes for JMS were written to
    throw a NotSerializableException if an application tried to:
    
    - Serialize a JMSConnection, JMSQueueConnection or
    JMSTopicConneciton object using the method:
    
    writeObject(ObjectOutputStream)
    
    - Deserialize a JMSConnection, JMSQueueConnection or
    JMSTopicConnection object using the method:
    
    readObject(ObjectInputStream)
    
    The WebSphere MQ V7.1 and V7.5 Information Centers stated that
    objects that implemented the JMSConnection, JMSQueueConnection
    and JMSTopicConnection interfaces could be serialized. However,
    this was
    not the case.
    

Problem conclusion

  • The WebSphere MQ V7.1 and V7.5 Information Centers have been
    updated so that the JavaDoc for the JMSConnection,
    JMSQueueConnection and JMSTopicConnection interfaces states
    that:
    
    - Objects that implement the JMSConnection, JMSQueueConnection
    and JMSTopicConnection interfaces cannot be serialized.
    - An attempt to serialize a JMSConnection, JMSQueueConnection
    or JMSTopicConnection object by calling the method:
    
    writeObject(ObjectOutputStream)
    
    will result in a NotSerializableException being thrown.
    - An attempt to deserialize a JMSConnection, JMSQueueConnection
    or JMSTopicConnection object by calling the method:
    
    readObject(ObjectInputStream)
    
    will result in a NotSerializableException.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.1       7.1.0.5
    v7.5       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

    IC94850

  • Reported component name

    WMQ WINDOWS V7

  • Reported component ID

    5724H7220

  • Reported release

    710

  • Status

    CLOSED DOC

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2013-08-13

  • Closed date

    2013-10-17

  • Last modified date

    2014-02-21

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"710","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
29 June 2020