I had been successfully using a json ccdt file to use runmqsc as a client. Because of a “.” it didn’t work when I used it elsewhere.
I had a directory of useful shell scripts. In this directory I had my mqclient.ini with
CHANNELS:
MQReconnectTimeout=30
ReconDelay=(1000,200)(2000,200)(4000,1000)
ChannelDefinitionDirectory=.
ChannelDefinitionFile=ccdt.json
I had another directory with some shell scripts for some other applications. I used
export MQCLNTCF=/home/colinpaice/… to point to the mqclient.ini file.
When I used runmqsc -c QMA I got
AMQ8118E: IBM MQ queue manager does not exist.
In /var/mqm/errors/AMQERR01.LOG was the error message AMQ9518E: File ‘./ccdt.json’ not found.
This was because I had specified ChannelDefinitionDirectory=. instead of a fully qualified name. I had wrongly assumed that “.” meant the same directory as the mqclient.ini file.
The moral of this user error is to
- use a fully qualified directory instead of “.”
- or omit this parameter, and put the ccdt.json in the default location /var/mqm – but you may not have write access to this directory.
- and go to the bottom of the class.
One thought on “The ccdt file was exactly where I specified it.”