我尝试通过使用Java API连接到服务器连接通道来获取所有通道名。我通过以下命令将所有频道设置为所有频道。
setmqaut -m local -t channel -n SYSTEM.** -p test +all
Java代码,
pcfMessageAgent = new PCFMessageAgent(host, port, channelName);
PCFMessage request = new PCFMessage(CMQCFC.MQCMD_INQUIRE_CHANNEL);
request.addParameter(CMQCFC.MQCACH_CHANNEL_NAME, "*");
try {
queueResponses = pcfMessageAgent.send(request);
,但我获得了带有以下日志的2035错误代码,但我无法在Explorer上看到SYSTEM.DEF.CLNTCONN
,并且无法使用SetMQAUT命令设置权限,
AMQ8077: Entity 'test@mysystem' has insufficient authority to access
object 'SYSTEM.DEF.CLNTCONN'.
EXPLANATION:
The specified entity is not authorized to access the required object. The
following requested permissions are unauthorized: dsp
这是因为CLNTCONN
通道是不同的对象类型,它们是类型clntconn
,所有其他通道类型都包含在类型channel
中。
如果您想提供相同的许可:
setmqaut -m local -t clntconn -n SYSTEM.** -p test +all
请参阅我对您的问题" IBM MQ-权限 - 阅读视角"的答案,以获取有关如何仅读取权限的更多详细信息。