Client channel definition table

The client channel definition table (CCDT) determines the channel definitions and authentication information used by client applications to connect to the queue manager. On platforms other than z/OS® a CCDT is created automatically. You must then make it available to the client application.

The purpose of the client channel definition table (CCDT) is to determine the channel definitions used by client applications to connect to the queue manager. The channel definition also specifies the authentication information that applies to the connections.

The CCDT is a binary file. It is generated by a queue manager. The queue manager does not read the CCDT file.

On platforms other than z/OS, the CCDT is created when the queue manager is created. Client connection channels are added to the table when you use the DEFINE CHANNEL command, and their definitions altered when you issue the ALTER CHANNEL command.
Notes:
  • The design of the IBM® MQ CCDT file, is that the CCDT file is shrunk, only after all client-connection channels defined by the user are actually defined. When a client-connection channel is deleted, it is just marked as deleted in the CCDT file, but it is not physically removed.
  • To force the CCDT file to shrink, after deleting one or more client-connection channels, issue the following command:
    rcrmqobj -m QM80 -t clchltab

You can use the CCDT to provide clients with the authentication information to check for SSL certificate revocation. Define a namelist containing authentication information objects and set the queue manager attribute SSLCRLNameList to the name of the namelist.

There are a number of ways for a client application to use a CCDT. The CCDT can be copied to the client computer. You can copy the CCDT to a location shared by more than one client. You can make the CCDT accessible to the client as a shared file, while it remains located on the server.

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.

Server platforms other than z/OS

A default CCDT called AMQCLCHL.TAB is created when you create a queue manager.

By default, AMQCLCHL.TAB is located in the following directory on a server:
  • [IBMi]On IBM i, in the integrated file system:
    
     /QIBM/UserData/mqm/qmgrs/QUEUEMANAGERNAME/&ipcc
    
  • [UNIX][Linux]On UNIX and Linux® systems:
    
     /prefix/qmgrs/QUEUEMANAGERNAME/@ipcc
    
    The name of the directory referenced by QUEUEMANAGERNAME is case-sensitive on UNIX and Linux systems. The directory name might not be the same as the queue manager name, if the queue manager name has special characters in it.
  • [Windows]On Windows:
    
     MQ_INSTALLATION_PATH\data\qmgrs\QUEUEMANAGERNAME\@ipcc
    
MQ_INSTALLATION_PATH represents the high-level directory in which IBM MQ is installed.

However, you might have chosen to use a different directory for queue manager data. You can specify the parameter -md DataPath when you used the crtmqm command. If you do, AMQCLCHL.TAB is located in the @ipcc directory of the DataPath you specified.

The path to the CCDT can be changed by setting MQCHLLIB. If you do set MQCHLLIB, be aware, if you have multiple queue managers on the same server, they share the same CCDT location.

The CCDT is created when the queue manager is created. Each entry of a CCDT represents a client connection to a specific queue manager. A new entry is added when you define a client-connection channel using the DEFINE CHANNEL command, and the entry is updated when you alter the client-connection channels by using the ALTER CHANNEL command.

Client platforms at IBM MQ 8.0

You can create a CCDT on the client machine directly by using the runmqsc command with the -n parameter. The CCDT will be created in the location indicated by MQCHLLIB and with the filename indicated by MQCHLTAB which is AMQCLCHL.TAB by default.

Note, that if you specify the -n parameter, you must not specify any other parameter.

Each entry of a CCDT represents a client connection to a specific queue manager. A new entry is added when you define a client-connection channel using the DEFINE CHANNEL command, and the entry is updated when you alter the client-connection channels by using the ALTER CHANNEL command.

How to specify the location of the CCDT on the client

On a client system, you can specify the location of the CCDT in two ways:
  • Using the environment variables MQCHLLIB to specify the directory where the table is located, and MQCHLTAB 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.
If the location is specified both in the client configuration file and by using environment variables, the environment variables take priority. You can use this feature to specify a standard location in the client configuration file and override it using environment variables when necessary.