IBM Support

IT19225: MQ-JMS QUEUEBROWSER USING A SELECTOR WITH AN UPPERCASE JMSCORRELATIONID DOES NOT FIND MESSAGES

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • A JMS application using the v9.0 IBM MQ classes for JMS is using
    a "javax.jms.QueueBrowser" with a message selector, where the
    selection string has been defined similar to:
    
     JMSCorrelationID  =
    'ID:112233445566778899AABBCCDDEEFF112233445566778899'
    
    The queue browser does not find any messages, despite there
    being a message on the queue which has the "MQMD.CorrelId" field
    containing a sequence of bytes which match the above hexadecimal
    representation.
    
    It was observed that if a lowercase version of the above
    selector was used:
    
      JMSCorrelationID  =
    'ID:112233445566778899aabbccddeeff112233445566778899'
    
    then the message was returned by the javax.jms.QueueBrowser.
    

Local fix

  • Use a lower case JMSCorrelationID selection string when matching
    on the MQMD.CorrelId byte field.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users of v9.0 IBM MQ Classes for JMS which are using either of:
    
      javax.jms.MessageConsumer
      javax.jms.QueueBrowser
    
    with a selector, where the selector is matching on either the
    "MQMD.CorrelId" or the "MQMD.MsgId" by specifying a selection
    string which starts with the characters "ID:", and the rest of
    the characters specifying the hexadecimal representation of
    either of these 24 byte fields.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When using a message selector with the IBM MQ classes for JMS to
    match on either of the MQ message attributes:
    
      MQMD.MsgId
      MQMD.CorrelId
    
    you prepend the character string "ID:" to the start of the
    selection string, and specify the 24-byte hexadecimal
    representation of the bytes as the rest of the selection string.
    
    For example, if the MQ message's "CorrelId" field has the byte
    value (in hex):
      112233445566778899AABBCCDDEEFF112233445566778899
    
    you would use a JMS selection string of:
    
      JMSCorrelationID =
    'ID:112233445566778899AABBCCDDEEFF112233445566778899'
    
    The IBM MQ classes for JMS then translates this hexadecimal
    character sequence into the corresponding byte sequence to send
    to the queue manager to match on.
    
    As of IBM MQ v9.0.0.0, this JMS selection string became case
    sensitive, and only correctly used a lower case hexadecimal
    representation.  The result was that if the JMS selection string
    was an upper case representation, for example:
    
      JMSCorrelationID  =
    'ID:112233445566778899AABBCCDDEEFF112233445566778899'
    
    the message would not be matched, and no message would be
    returned.
    

Problem conclusion

  • The IBM MQ Classes for JMS have been updated such that the
    message selector is no longer case sensitive, matching the
    product behaviour prior to MQ v9.0.0.0.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v9.0 LTS   9.0.0.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

    IT19225

  • Reported component name

    IBM MQ BASE M/P

  • Reported component ID

    5724H7261

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-02-10

  • Closed date

    2017-04-27

  • Last modified date

    2017-04-27

  • 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 M/P

  • Fixed component ID

    5724H7261

Applicable component levels

  • R900 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":"9.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
27 April 2017