APAR status
Closed as program error.
Error description
An MQ classes for JMS application consumes a message where the "PutApplType" field in the MQMD of the consumed MQ message is set to the value: '0' ('MQAT_NO_CONTEXT') When the application queries the value of the property: 'JMS_IBM_PUTAPPLTYPE' on the JMS message object returned to the application, via a call to the method: javax.jms.Message.getIntProperty(JmsConstants.JMS_IBM_PUTAPPLTYP E); the following exception is thrown back to the application: java.lang.NumberFormatException: null value at com.ibm.msg.client.jms.internal.JmsReadablePropertyContextImpl.p arseInt at com.ibm.msg.client.jms.internal.JmsMessageImpl.getIntProperty at com.ibm.jms.JMSMessage.getIntProperty
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the: - WebSphere MQ V7.5 classes for JMS - IBM MQ V8 classes for JMS - IBM MQ V9 classes for JMS - WebSphere Application Server V9 MQ messaging provider who consume MQ messages that have been sent to their destination with the put message option MQPMO_NO_CONTEXT, such that the MQMD's PutApplType field of the message is set to the value MQAT_NO_CONTEXT (0), and who call: getIntProperty(JmsConstants.JMS_IBM_PUTAPPLTYPE) on the javax.jms.Message object returned to their application. Similarly, this issue also affects users of the Message Service Client for .NET XMS API. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When an MQ message was consumed by the MQ classes for JMS API or the Message Service Client for .NET XMS API that had been put using the MQPMO option: MQPMO_NO_CONTEXT such that the PutApplType field of the MQMD for the message was set to the value MQAT_NO_CONTEXT, the JMS_IBM_PUTAPPLTYPE property: https://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm .mq.javadoc.doc/WMQJMSClasses/com/ibm/msg/client/jms/JmsConstant s.html?view=kc#JMS_IBM_MQMD_PUTAPPLTYPE was not set on the javax.jms.Message object created from the MQ message. As such, the JMS_IBM_PUTAPPLTYPE property had a null value. This meant that when the application called: getIntProperty(JmsConstants.JMS_IBM_PUTAPPLTYPE); on the javax.jms.Message object, a java.lang.NumberFormatException was thrown as per section 3.5.4 of the JMS specification because a Java 'null' value cannot be converted into a Java 'int' primitive.
Problem conclusion
The value MQAT_NO_CONTEXT (0) is a valid value for the PutApplType field of an MQ message's MQMD. As such, this APAR updates the MQ classes for JMS and Message Service Client for .NET XMS APIs such that message objects will now have the JMS_IBM_PUTAPPLTYPE property set on them when an MQ message is consumed that has the value 0 in the MQMD PutApplType field. As a result, calling: getIntProperty(JmsConstants.JMS_IBM_PUTAPPLTYPE); on a javax.jms.Message object will return the int value 0, as opposed to throwing a java.lang.NumberFormatException. Note this will result in a change in behaviour for applications that call: getStringProperty(JmsConstants.JMS_IBM_PUTAPPLTYPE); Prior to this APAR, in the scenario described by the APAR closing text, the above method call would have returned a null object, as the JMS_IBM_PUTAPPLTYPE property would not have been set on the javax.jms.Message object. After the code change associated with this APAR, the property will be set on the message object to the int value 0, which will be converted into the string, "0" when the method call: getStringProperty(JmsConstants.JMS_IBM_PUTAPPLTYPE) is made. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.5 7.5.0.9 v8.0 8.0.0.8 v9.0 CD 9.0.5 v9.0 LTS 9.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
IT22246
Reported component name
WMQ BASE MULTIP
Reported component ID
5724H7241
Reported release
750
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-09-01
Closed date
2017-10-30
Last modified date
2017-11-16
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
5724H7241
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023