IBM MQ custom properties

WebSphere® Application Server supports the use of custom properties to define IBM MQ properties. This is useful because it enables WebSphere Application Server to work with later versions of IBM MQ that might have properties that are not available in the WebSphere Application Server administrative console.

For WebSphere Application Server Version 7.0 or later, the custom properties that you define are validated by the IBM MQ resource adapter contained in WebSphere Application Server. In earlier releases, this was done within WebSphere Application Server itself, and then by the IBM MQ client jar files. If you have defined a property that is not valid for IBM MQ, the IBM MQ resource adapter creates an exception, which is caught by WebSphere Application Server, and logged in the Systemout.log and SystemErr.log files. Examples of error messages are given at the end of this topic.

When a later version of IBM MQ is available that is supported by the WebSphere Application Server installation, new IBM MQ properties might be created that are not known to WebSphere Application Server. You can configure these as custom properties through WebSphere Application Server so that they are recognized by the IBM MQ resource adapter. You can also configure WebSphere Application Server to point to the IBM MQ resource adapter in the external JMS provider, as described in Configuring the IBM MQ messaging provider with native libraries information.

For information on valid values for IBM MQ properties, refer to the Using Java and System Administration sections of the IBM MQ documentation.

Note: This topic references one or more of the application server log files. As a recommended alternative, you can configure the server to use the High Performance Extensible Logging (HPEL) log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files on distributed and IBM® i systems. You can also use HPEL in conjunction with your native z/OS® logging facilities. If you are using HPEL, you can access all of your log and trace information using the LogViewer command-line tool from your server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.

The following scenarios illustrate how different cell configurations might be affected.

Mixed node scenario

In this mixed node scenario, a cell consists of a WebSphere Application Server, Version 9.0 deployment manager, two WebSphere Application Server, Version 6 nodes, and two WebSphere Application Server, Version 9.0 nodes. If a IBM MQ connection factory is defined at cell level and has custom properties defined that exploit the new fields available in IBM MQ, then the connection factory is only bound into the WebSphere Application Server cells that are at Version 9.0 level. The WebSphere Application Server, Version 6 nodes do not know about the new IBM MQ properties and do not bind into the Java™ Naming and Directory Interface (JNDI). The enhancements made to WebSphere Application Server, Version 9.0 allow validation of the properties to be deferred to the IBM MQ resource adapter.
Figure 1. Mixed node scenario
Version 6.0 nodes will not bind into the JNDI

WebSphere MQ Version 7 or later scenario

In this scenario a cell consists of WebSphere Application Server, Version 9.0 deployment manager and nodes. The IBM MQ messaging provider is running at a level later than Version 6. WebSphere Application Server is using the default IBM MQ resource adapter shipped with WebSphere Application Server Version 9.0. In this scenario the IBM MQ resource adapter is not aware of the new IBM MQ properties so the validation fails and the connection factory does not bind into the JNDI.
Figure 2. Future version of IBM MQ scenario
Version 6 client jars do not recognise the new WebSphere MQ version properties and the connection factory will fail to bind into the JNDI

Correctly configured scenario

In this scenario, which is similar to the previous one, a cell consists of WebSphere Application Server, Version 9.0 deployment manager and nodes. The IBM MQ messaging provider is running at a level later than Version 6. To successfully use the new IBM MQ properties it is necessary to configure the WebSphere Application Server to point to the IBM MQ resource adapter associated with the later version of IBM MQ.
Figure 3. Correctly configured scenario
The connection factory will bind into the JNDI

Error message example

The exception created by the resource adapter contains error messages similar to the following example:
[09/02/06 15:40:06:377 GMT] 0000000a ContainerImpl E   WSVR0501E: Error creating
component null [class com.ibm.ws.runtime.component.ApplicationServerImpl]
com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.runtime.component.binder.
ResourceBindingException: invalid configuration passed to resource binding logic.
REASON: Failed to create connection factory: Error raised constructing AdminObject,
error code: XAQCF PropertyName : XAQCF PropertyName
where PropertyName is the name of the invalid property.