Web addressable access to the client channel definition table
From Version 9.0, IBM MQ provides the ability to locate a client channel definition table (CCDT) through a URL, either by programming using MQCNO, using environment variables, or using mqclient.ini file stanzas.
Attention: We can use the environment variable option only for native programs connecting as clients, that is C, COBOL, or C++ applications. The environment variables have no effect for Java™, JMS or managed .NET applications.IBM MQ supports retrieving a CCDT from a file, ftp, or http URL.
The environment variable MQCCDTURL allows you to provide a file, ftp, or http URL as a single value from which a client channel definition table can be obtained.
We can also use MQCHLLIB (or that specified by ChannelDefinitionDirectory under the CHANNELS stanza of the client configuration file) to locate a CCDT file, either through file, ftp, or http URL, in addition to the existing local file system directory, that is, /var/mqm).
Note that an MQCHLLIB value is a directory stem and works in combination with MQCHLTAB to derive the fully qualified URL.
Basic authentication on connections is supported through the credentials being encoded in the URL:
- Authenticated connections
export MQCHLLIB=ftp://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc export MQCHLLIB=http://myuser:password@myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc- Unauthenticated connections
export MQCHLLIB=ftp://myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc export MQCHLLIB=http://myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc export MQCHLLIB=file:///var/mqm/qmgrs/QMGR/@ipccNote: If you want to use authenticated connections you must, as with JMS, provide the user name and password encoded in the URL. The order of precedence, for a native client application, to find a client channel definition is now:
Important: Access to a CCDT file using a URL always opens a read-only copy of the file, even when using the file:// protocol.
- MQCD provided by ClientConnOffset and ClientConnPtr in MQCNO.
- URL provided by CCDTUrlOffset and CCDTUrlPtr in MQCNO.
- MQSERVER environment variable.
- If an mqclient.ini file is defined and contains a ServerConnectionParms then the channel that it defines is used. For more information, see Configure a client using a configuration file and CHANNELS stanza of the client configuration file.
- MQCCDTURL environment variable.
- MQCHLLIB and MQCHLTAB environment variable.
- ChannelDefinitionDirectory in the CHANNELS stanza of the client configuration file.
Attempting to open a CCDT file for write access, for example when using the runmqsc DEFINE CHANNEL command from a client, returns an error message indicating that the file could not be opened for write access.
It is, however, possible to read channel and authentication information definitions using runmqsc.