IBM Support

IT34967: IBM MQ classes for JMS BROKERPUBQMGR property validation failurewith asterisk characters

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

  • An application running in WebSphere Application Server v9.0
    failed to initiate itself correctly, despite running fine in
    WebSphere Application Server v8.5.
    
    The error message seen in the SystemOut.log was of the form:
    
    [10/27/20 13:44:49:191 EDT] 00000001 JMSResourceRe E
    WMSG1300E: An error occurred building the reference for JNDI
    deployment of <null>. Error code 5 was returned from MQ with the
    error messages [JMSCC0005: The specified value '*QMGRNAME' is
    not allowed for 'XMSC_WMQ_BROKER_PUBQ_QMGR'.] and [<null>]
    [10/27/20 13:44:49:268 EDT] 00000001 FfdcProvider  W
    com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC
    Incident emitted on
    /filesystem/WebSphere/ffdc/myServer1_db3be543_20.10.27_13.44.49.
    1935227259639826611984.txt
    com.ibm.ws.runtime.component.binder.MQTopicBinder.getBindingObje
    ct 127
    [10/27/20 13:44:49:268 EDT] 00000001 ResourceMgrIm E
    WSVR0017E: Error encountered binding the J2EE resource,
    ABC.DEF.GHI, as jms/myTopic from
    /opt/WebSphere/AppServer/profiles/node1/config/cells/cell1/clust
    ers/myCluster/resources.xml
    com.ibm.ws.runtime.component.binder.ResourceBindingException:
    invalid configuration passed to resource binding logic. REASON:
    The JMS Resource null could not be bound
    at
    com.ibm.ejs.jms.JMSResourceRefBuilderImpl.createDestinationRefer
    enceable(JMSResourceRefBuilderImpl.java:858)
    at
    com.ibm.ejs.jms.JMSResourceRefBuilderImpl.createMQTopicReference
    able(JMSResourceRefBuilderImpl.java:785)
    at
    com.ibm.ws.runtime.component.binder.MQTopicBinder.getBindingObje
    ct(MQTopicBinder.java:398)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.bind(ResourceMgrImp
    l.java:521)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.installResourceProv
    ider(ResourceMgrImpl.java:1558)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.installResource(Res
    ourceMgrImpl.java:1404)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.installResources(Re
    sourceMgrImpl.java:1343)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.loadResources(Resou
    rceMgrImpl.java:1083)
    at
    com.ibm.ws.runtime.component.ResourceMgrImpl.start(ResourceMgrIm
    pl.java:755)
    at
    com.ibm.ws.runtime.component.ContainerHelper.startComponents(Con
    tainerHelper.java:540)
    at
    com.ibm.ws.runtime.component.ContainerImpl.startComponents(Conta
    inerImpl.java:627)
    at
    com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.j
    ava:618)
    at
    com.ibm.ws.runtime.component.ApplicationServerImpl.start(Applica
    tionServerImpl.java:252)
    at
    com.ibm.ws.runtime.component.ContainerHelper.startComponents(Con
    tainerHelper.java:540)
    at
    com.ibm.ws.runtime.component.ContainerImpl.startComponents(Conta
    inerImpl.java:627)
    at
    com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.j
    ava:618)
    at
    com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:55
    5)
    at
    com.ibm.ws.runtime.WsServerImpl.bootServerContainer(WsServerImpl
    .java:317)
    at com.ibm.ws.runtime.WsServerImpl.start(WsServerImpl.java:230)
    at com.ibm.ws.runtime.WsServerImpl.main(WsServerImpl.java:703)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:59)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at
    com.ibm.wsspi.bootstrap.WSLauncher.launchMain(WSLauncher.java:23
    4)
    at com.ibm.wsspi.bootstrap.WSLauncher.main(WSLauncher.java:101)
    at com.ibm.wsspi.bootstrap.WSLauncher.run(WSLauncher.java:82)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at
    org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodW
    ithException(EclipseAppContainer.java:587)
    at
    org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseApp
    Handle.java:198)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.run
    Application(EclipseAppLauncher.java:110)
    at
    org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.sta
    rt(EclipseAppLauncher.java:79)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStart
    er.java:354)
    at
    org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStart
    er.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor
    Impl.java:90)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod
    AccessorImpl.java:55)
    at java.lang.reflect.Method.invoke(Method.java:508)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:340)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:282)
    at org.eclipse.core.launcher.Main.run(Main.java:981)
    at
    com.ibm.wsspi.bootstrap.WSPreLauncher.launchEclipse(WSPreLaunche
    r.java:422)
    at
    com.ibm.wsspi.bootstrap.WSPreLauncher.main(WSPreLauncher.java:17
    9)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users of the MQ classes for JMS, who are using Topic objects
    which have specified the property:
    
      BROKERPUBQMGR
    
    with a value which contains an asterisk character ('*'), or
    specifying a value directory by calling the the method:
    
    
    com.ibm.mq.jms.MQTopic.setBrokerPubQueueManager(java.lang.String
     qmgrName);
    
    where 'qmgrName' is a String which contains an asterisk
    character, for example the String:
    
      "*myQmgrs"
    
    
    This includes setting a value on the MQTopic definition in a
    WebSphere Application Server JNDI, as set in the Administration
    Console using the path:
    
      Resources -> JMS -> Topics -> [select MQTopic]
    
    and setting a String with an asterisk character in the field
    labelled:
    
      "Broker publication queue manager"
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    When properties of objects are set, such as by invoking the
    setter methods such as:
    
    
    com.ibm.mq.jms.MQTopic.setBrokerPubQueueManager(java.lang.String
     qmgrName);
    
    or by when a JNDI stored resource is used to build a
    corresponding object, the MQ classes for JMS check the validity
    of the values being set on the properties.
    
    For example, for a queue name, the length of the provided queue
    name is compared with the maximum allowed length for a queue
    name in MQ (48 characters), and if it exceeds it the MQ classes
    for JMS throws an exception, and fails to construct the object.
    
    
    For a Topic, the MQ classes for JMS provides a property which is
    used to configure the name of the queue manager that owns the
    queue where messages published on the topic are sent to, which
    is known as:
    
    JMS administration tool long name:  BROKERPUBQMGR
    JMS administration tool short name: BPQM
    Setter method:
    com.ibm.mq.jms.MQTopic.setBrokerPubQueueManager(java.lang.String
     qmgrName)
    
    For the MQ v8.0 release, the String value provided was being
    validated with a pattern which did not allow an asterisk
    character '*'.  Since queue manager names may contain a asterisk
    where a CCDT is being used, this String validation was failing
    if the application/JNDI has a asterisk in the value.
    

Problem conclusion

  • The MQ classes for JMS has been updated such that the validator
    for the BROKERPUBQMGR property now permits an asterisk character
    again for the value, as it did prior to the MQ v8.0 release.
    
    ---------------------------------------------------------------
    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

    IT34967

  • 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

    2020-11-17

  • Closed date

    2020-11-25

  • Last modified date

    2020-11-25

  • 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

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

Document Information

Modified date:
26 November 2020