Locations for the CCDT
IBM® MQ supports retrieving a CCDT from a file, FTP, or HTTP URL. You can make the CCDT accessible to the client as a shared file, while it remains located on the server. Alternatively you can distribute the CCDT, either by copying the CCDT to individual client computers or by copying the CCDT to a location shared by more than one client.
If you use FTP to copy the file, use the bin
option to set binary mode; do not
use the default ASCII
mode. Whichever method you choose to make the CCDT available,
the location must be secure to prevent unauthorized changes to the channels.
From IBM MQ 9.0, the CCDT can be hosted in a central location that is accessible through a URL, removing the need to individually update the CCDT for each deployed client. IBM MQ 9.0 added the capability for native (C/C++, COBOL and RPG) and unmanaged .NET applications to pull the CCDT from a URL, whether that be a local file, FTP or HTTP resource.
- CCDTUrlPtr and CCDTUrlOffset through the MQCNO structure being passed into MQCONNX MQI call
- MQCCDTURL environment variable
- ChannelDefinitionDirectory attribute in the Channels stanza of mqclient.ini
export MQCCDTURL=ftp://myuser:password@myhost.sample.com//var/mqm/qmgrs/QMGR/@ipcc/AMQCLCHL.TAB
export MQCCDTURL=http://myhost.sample.com/var/mqm/qmgrs/QMGR/@ipcc/AMQCLCHL.TAB
If you want to use this support with FTP or HTTP, then you still need to host the CCDT file on a server, but with the support added at IBM MQ 9.0, all of your client applications can automatically pick up changes to channel definitions without manually pushing out updates or needing to mount a networked file system on each client. For more information, see URL access to the CCDT.
How to specify the location of the CCDT on the client
- Using the environment variables
MQCHLLIB
to specify the directory where the table is located, andMQCHLTAB
to specify the file name of the table. - Using the client configuration file. In the
CHANNELS
stanza, use the attributes ChannelDefinitionDirectory to specify the directory where the table is located, and ChannelDefinitionFile to specify the file name. - By providing a URL (file, FTP, or HTTP) for a CCDT that is hosted in a central location as previously described.
If you use a URL to provide the location of the CCDT, the order of precedence for a native client application to find the client channel definition is as described in URL access to the CCDT.