CCDT 不适合在文本编辑器中读取,它是二进制格式的文件。每个 CCDT 中的参数之一CLNTCONN
频道是QMNAME
。知道什么QMNAME
设置为多少CLNTCONN
您在 CCDT 中定义的通道以及您想要完成的任务将有助于确定应该指定什么值(如果有的话)setQueueManager
.
如果只有一个CLNTCONN
那么您可以指定以下内容,无论 QMNAME 属性设置为什么,它将使用单个通道进行连接:
setQueueManager("*");
如果有多个CLNTCONN
文件中的通道每个都有不同的QMNAME
指定,假设该名称与在与您将传递队列管理器名称的通道关联的主机和端口上侦听的实际队列管理器名称匹配:
setQueueManager("QMGRNAME");
如果有多个CLNTCONN
文件中的通道每个都具有相同的QMNAME
指定此名称并不意味着反映在与每个通道关联的主机和端口上侦听的实际队列管理器名称,这称为队列管理器组,这将用于您希望客户端连接到任意数量的不同通道的地方主机和端口,并且您不需要知道要连接到哪个队列管理器,在这种情况下,您将传递前缀为*
:
setQueueManager("*QMGRGROUPNAME");
上述情况的另一种变化是如果有多个CLNTCONN
文件中的通道全部为空白(空格)或 NULLQMNAME
指定的,这称为队列管理器组,这将用于您希望客户端连接到任意数量的不同主机和端口的地方,并且您不需要知道您正在连接到哪个队列管理器,在这种情况下,您将将队列管理器名称作为单个空格传递
或者什么都没有``:
setQueueManager(" ");
//or
setQueueManager("");
如果您根本不使用 setQueueManager,上面的最后一个用例可能会起作用。
如果要查看 CCDT 的内容,可以使用 runmqsc 命令,该命令是 MQ v8 及更高版本客户端或服务器安装的一部分。
对于 Unix ksh/bash shell,请使用以下命令:
export MQCHLLIB=PATH/OF/CCDT
export MQCHLTAB=NAME_OF_CCDT
runmqsc -n
对于 Windows,请使用以下命令:
set MQCHLLIB=PATH/OF/CCDT
set MQCHLTAB=NAME_OF_CCDT
runmqsc -n
一旦 runmqsc 程序启动并显示Starting local MQSC for 'NAME_OF_CCDT'.
您可以运行以下命令来查看频道详细信息:
DIS CHL(*)
下面是一个更具体的命令,用于缩小返回的字段数量:
DIS CHL(*) QMNAME CONNAME