IBM Support

IT13212: When using connection property override functionality of APAR IT08043 java.lang.classcastexception is thrown.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • IBM MQ 8.0, when using the connection property override
    functionality of the MQ classes for Java or classes for JMS,
    according to the APAR description below:
    .
    APAR IT08043: ABILITY TO DEFINE PROPERTIES IN THE JMS.CONFIG AND
    MQJAVA.CONFIG FILES
    .
    The override of the SSL_FIPS_REQUIRED property may work, but the
    java.lang.ClassCastException below appears:
    .
    java.lang.ClassCastException: java.lang.String incompatible with
    java.lang.Boolean
     at com.ibm.mq.ClientConnectionRequestInfo.complexPopulate(Clien
        tConnectionRequestInfo.java:274)
     at com.ibm.mq.ClientConnectionRequestInfo.<init>(ClientConnecti
        onRequestInfo.java:197)
     at com.ibm.mq.MQSESSION.getConnectionRequestInfo(MQSESSION.java
        :2286)
     at com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQ
        QueueManagerFactory.java:939)
     at com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFacto
        ry.java:832)
     at com.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQue
        ueManagerFactory.java:765)
     at com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueM
        anagerFactory.java:172)
     at com.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:757)
    .
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the:
    
       - WebSphere MQ V7.5 classes for Java
       - IBM MQ V8 classes for Java
    
    who are using the connection override functionality introduced
    by APAR IT08043 and overriding properties that accept
    java.lang.Boolean values, such as SSL_FIPS_REQUIRED_PROPERTY.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When an IBM MQ classes for Java application creates an
    MQQueueManager object, a connection is made to a queue manager.
     The connection details (such as the queue manager name, the
    host it is running on etc) can be specified by the application
    as fields on the MQEnvironment class, or in a Hashtable object
    passed to the MQQueueManager constructor.  These connection
    details can be overridden at runtime using the connection
    override function provided by APAR IT08043:
    
    http://www-01.ibm.com/support/docview.wss?uid=swg1IT08043
    
    When using the functionality provided by this APAR, a properties
    file is parsed for connection details to override. These will be
    used in preference to those specified by the application.
    
    In the case when an application tried to override a property of
    type java.lang.Long or java.lang.Boolean property , such as
    
    SSL_FIPS_REQUIRED_PROPERTY
    
    a java.lang.ClassCastException was thrown. This was because the
    connection override functionality did not cover the case when
    the property being overridden was of Boolean or Long type.
    
    Additionally, if a property was defined as accepting an integer
    value, and the value specified for that could not be parsed as
    an integer, then no further connection override properties
    specified in the properties file would be parsed.
    

Problem conclusion

  • The WebSphere MQ V7.5 and IBM MQ V8 classes for Java have been
    updated to correctly handle properties that have been defined as
    being of type java.lang.Long and java.lang.Boolean
    
    Furthermore, if a value for a connection property cannot be
    converted to the required type, the classes for Java will log
    the failure in the 'Classes for Java log' file. For example,
    when the String value 'string input' is associated with the port
    property which requires an int value, the following warning
    message will be inserted in the log file:
    &#09;
    port (mqj.$PORT_PROPERTY)
    &#09;<NULL> -> string input
    Warning: The 'port' property was not overridden because of
    exception: 'java.lang.NumberFormatException: For input string:
    "string input"'. Check that the property value is of the type
    expected.
    
    The classes for Java will then continue to parse any more
    properties that are available.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.7
    v8.0       8.0.0.6
    v9.0 CD    9.0.1
    v9.0 LTS   9.0.0.1
    
    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

    IT13212

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-01-27

  • Closed date

    2016-05-31

  • Last modified date

    2017-06-01

  • 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 BASE MULTIP

  • Fixed component ID

    5724H7251

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
01 June 2017