IBM Support

IT08911: IBM MQ V8.0 RECEIVES EXCEPTION CLASSCASTEXCEPTION WHEN USING THE JMSADMIN COMMAND TO DISPLAY AN MQ QUEUE STORED IN JNDI

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • While running the IBM MQ V8.0 JMSAdmin command to display
    queues stored in JNDI, a java.lang.ClassCastException is thrown.
    
    For example:
    ...
    InitCtx> def q(TESTQUEUE) TC(MQ) QMGR(QM1)
    
    InitCtx> dis q(*)
    Q(Q2)
    InitCtx> dis q(Q2)
    Exception in thread "main" java.lang.ClassCastException:
    java.lang.Integer incompatible with java.lang.Byte
     at
    com.ibm.mq.jms.MQDestination.getUnmappableReplacement(MQDestinat
    ion.java:319)
     at
    com.ibm.mq.jms.admin.APUMR.setPropertyFromObject(APUMR.java:175)
     at
    com.ibm.mq.jms.admin.DestBAO.getProperties(DestBAO.java:121)
     at
    com.ibm.mq.jms.admin.QueueBAO.getProperties(QueueBAO.java:156)
     at
    com.ibm.mq.jms.admin.AdminObject.getProperties(AdminObject.java:
    854)
     at
    com.ibm.mq.jms.admin.JMSAdmin.doDisplay(JMSAdmin.java:1381)
     at
    com.ibm.mq.jms.admin.JMSAdmin.execCommand(JMSAdmin.java:451)
     at
    com.ibm.mq.jms.admin.JMSAdmin.commandLoop(JMSAdmin.java:335)
     at com.ibm.mq.jms.admin.JMSAdmin.(JMSAdmin.java:247)
     at com.ibm.mq.jms.admin.JMSAdmin.main(JMSAdmin.java:1863)
    $
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    This issue affects users of the IBM MQ classes for Java Message
    Service (JMS) Administration tool called JMSAdmin who display an
    MQQueue object stored in Java Naming and Directory Interface
    (JNDI) repository.
    
    
    Platforms affected:
    AIX, HP-UX Itanium, HP-UX PA-RISC, HP-UX OpenVMS, IBM iSeries,
    Linux on Power, Linux on S390, Linux on x86, Linux on x86-64,
    Linux on zSeries, Solaris SPARC, Solaris x86-64, Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    IBM MQ classes for Java Message Service (JMS) Administration
    tool JMSAdmin is used to create Java Naming and Directory
    Interface (JNDI) administered objects, such as
    ConnectionFactories, Queues and Topics.
    
    If the JMSAdmin tool was used to display an MQQueue object that
    was stored in the JNDI repository, then a
    java.lang.ClassCastException was thrown while parsing the value
    of the UNMAPPABLEREPLACEMENT property.
    
    ---------------
    InitCtx> DIS Q(Q2)
    
        CCSID(1208)
        DESCRIPTION(Queue created from Queue 'Q2' on Queue Manager
    'QM1' at '26-August-2015 10:35:18')
        ENCODING(NATIVE)
        EXPIRY(APP)
        FAILIFQUIESCE(YES)
        MDMSGCTX(DEFAULT)
        MDREAD(NO)
        MDWRITE(NO)
        MSGBODY(UNSPECIFIED)
        PERSISTENCE(APP)
        PRIORITY(APP)
        PUTASYNCALLOWED(AS_DEST)
        QMANAGER(QM1)
        QUEUE(TESTQUEUE)
        READAHEADALLOWED(AS_DEST)
        READAHEADCLOSEPOLICY(DELIVER_ALL)
        RECEIVECCSID(1208)
        RECEIVECONVERSION(CLIENT_MSG)
        REPLYTOSTYLE(DEFAULT)
        TARGCLIENT(JMS)
        UNMAPPABLEACTION(REPORT)
    Exception in thread "main" java.lang.ClassCastException:
    java.lang.Byte
    incompatible with java.lang.String
            at
    com.ibm.mq.jms.admin.JMSAdmin.doDisplay(JMSAdmin.java:1412)
            at
    com.ibm.mq.jms.admin.JMSAdmin.execCommand(JMSAdmin.java:451)
            at
    com.ibm.mq.jms.admin.JMSAdmin.commandLoop(JMSAdmin.java:335)
            at com.ibm.mq.jms.admin.JMSAdmin.(JMSAdmin.java:247)
            at
    com.ibm.mq.jms.admin.JMSAdmin.main(JMSAdmin.java:1863)
    ---------------
    
    This was caused by incorrectly attempting to cast a
    java.lang.Byte value to a java.lang.String to display to the
    user.
    

Problem conclusion

  • The IBM MQ classes for JMS Administration tool JMSAdmin, has
    been updated to remove the casting of property values to
    java.lang.String objects.  The property values for displayed
    Administered objects stored in the Java Naming and Directory
    Interface (JNDI) repository are converted to java.lang.String
    objects without casting, thus, preventing a
    java.lang.ClassCastException from being thrown.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.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

    IT08911

  • 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

    2015-05-14

  • Closed date

    2015-08-28

  • Last modified date

    2015-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

    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":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 November 2015