APAR status
Closed as program error.
Error description
A channel security exit written in Java contains logic to access various pieces of information within the MQCD object that is passed into it. The security exit is able to retrieve various pieces of information successfully, such as the name of the queue manager that it is connected to, and the name of the channel. However, the security exit is unable to access the local address being used by the channel instance - whenever it tries to do this, by calling the method: MQCD.getLocalAddress() the method returns null.
Local fix
NA
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of: - The IBM MQ classes for Java. - The IBM MQ classes for JMS. - The IBM MQ resource adapter. who have applications that are configured to use channel exits written in Java. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: When using a channel exit written in Java, one of the parameters passed to the exit is an MQCD object representing the channel definition. The MQCD object contains a method called: getLocalAddress() The JavaDoc for the method (which can be found here https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_latest/com .ibm.mq.javadoc.doc/WMQJavaClasses/com/ibm/mq/exits/MQCD.html#ge tLocalAddress-- ) states that the method should return the local address being used by the channel. Now, when an MQ classes for Java or classes for JMS application, or the MQ resource adapter, establish a connection to a queue manager using the CLIENT transport, they call into a component called the Java Message Queueing Interface (JMQI). This component creates the connection, and updates an MQCD object with information about the channel definition that has been used. It is this MQCD object that is subsequently passed to channel exits written in Java. The JMQI would only update the local address field on the MQCD object if the Java system property: com.ibm.mq.localAddress had been set. If the property had not been defined, then the JMQI would not update the local address field on the MQCD object after establishing a connection to a queue manager. As a result, if an application was using a channel exit written in Java and the Java system property: com.ibm.mq.localAddress had not been set, then when the channel exit called the method: MQCD.getLocalAddress() the method always returned null.
Problem conclusion
The Java Message Queueing Interface (JMQI) has been updated to ensure that the local address field is set on an MQCD object after a channel instance has been created and is connected to a queue manager. This means that when a channel exit written in Java calls the method: MQCD.getLocalAddress() the method will return the local address that the channel instance is using. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.1 LTS 9.1.0.8 v9.2 LTS 9.2.0.2 v9.x CD 9.2.2 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
IT32554
Reported component name
IBM MQ BASE MP
Reported component ID
5724H7271
Reported release
910
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-04-15
Closed date
2020-12-17
Last modified date
2020-12-17
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
IBM MQ BASE MP
Fixed component ID
5724H7271
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"910"}]
Document Information
Modified date:
12 January 2021