Configure a JSON format CCDT
The client channel definition table (CCDT) determines the channel definitions and authentication information used by client applications to connect to the queue manager. You use a text editor to create and update a JavaScript Object Notation (JSON) CCDT.
Before starting
If we are using IBM MQ for Multiplatforms, you can instead use the binary CCDT that is created automatically when you create a queue manager. See Configure a binary format CCDT.
About this task
There is no default JSON CCDT, and IBM MQ does not supply any tooling to create or edit CCDTs in JSON format. Nonetheless, you have more configuration options when you manually develop a JSON CCDT than when we use the runmqsc command to work with a binary CCDT:
- You do not need to be using IBM MQ for Multiplatforms to create and edit a JSON CCDT file.
- Use the JSON format, we can define duplicate channel definitions of the same name. When you deploy IBM MQ on the cloud, we can use this to make the deployment scalable and highly available.
- The JSON file is human readable, which can simplify queue manager configuration.
- A flat file format can be integrated with:
- Version control tooling to track the CCDT history
- Automation tooling in continuous delivery
- You need no specialist tooling to maintain the CCDT file.
- The file is smaller.
- This format provides backwards and forwards compatibility.
Notes:
- The JSON standard sees duplicate keys as valid, however, the JSON parser only takes the last read value of duplicate keys when assigning attributes. Therefore, when defining duplicate channels, each channel must be an element of an array value that is assigned to the 'channel' key.
- JSON CCDTs do not support storing of Lightweight Directory Access Protocol (LDAP) server locations for Certificate Revocation Lists (CRL) and Online Certificate Status Protocol (OCSP) responder location information.
Platform JMS client encoding C client encoding IBM i ASCII EBCDIC UNIX platforms, Linux, and Windows ASCII ASCII z/OS Either ASCII or EBCDIC Not applicable
Procedure
- Create a JSON CCDT
- Create a flat file with a .json extension with a generic text editor.
- Define a CCDT.
See JSON CCDT examples and Channel attributes supported by the JSON CCDT.
- Locate the CCDT:
- On the client computer
- At a location shared by more than one client
- On the server as a shared file
- Validate a JSON CCDT
Validate the CCDT against the schema with a JSON linter.
The CCDT Schema is included with the product and client packages:
- On UNIX systems:
$MQ_INSTALLATION_PATH/lib and /lib in the product and client packages respectively.
- On Windows:
%MQ_INSTALLATION_PATH%\bin and \bin in the product and client packages respectively.
Notes:
- JSON linters are available online.
- The schema defines mandatory attributes with the 'required' key.
- The schema defines attribute data types with the 'type' key.
- Access the CCDT We can access the CCDT:
- Remotely from a file, ftp, or http URL, by defining the MQCCDTURL environment variable.
- Locally by setting the MQCHLLIB and MQCHLTAB environment variables.
- Locally by defining the ChannelDefinitionDirectory and ChannelDefinitionFile attributes of the CHANNELS stanza in the client configuration file.
See Locations for the CCDT for various examples.
- View or edit the CCDT contents
Each entry of a CCDT represents a client connection to a specific queue manager. We can view or edit the CCDT contents with a text editor.
If we want only to view the CCDT, we can also do this using the runmqsc command as follows:
- Set environment variables to give you access to the CCDT, as described in the previous step.
- Run the command runmqsc -n . For more information, see runmqsc.
- Run the DISPLAY CHANNEL command. For example, run DISPLAY CHANNEL(*).
- Provide clients with the authentication information to check for TLS certificate revocation.
- Define a namelist containing authentication information objects.
- In the CCDT, set the queue manager attribute SSLCRLNameList to the name of the namelist.
- Channel attributes supported by the JSON CCDT
A list of the client connection channel attributes supported by the JSON CCDT. This list is a subset of the attributes supported by the binary CCDT.- JSON CCDT examples
Use the examples listed in this topic as a basis for we requirements.Parent topic: Configure client channel definition tables
Related tasks
Related information