2017-05-03 17 views
1

我试图通过使用java api连接到服务器连接通道来获取所有通道名称。我使用以下命令设置了所有通道的权限。IBM MQ - 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错误代码,我无法看到SYSTEM.DEF.CLNTCONN在资源管理器中,无法设定setmqaut命令的权限,

AMQ8077: Entity '[email protected]' 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 

回答

1

这是因为CLNTCONN通道是不同的对象类型,它们是clntconn类型,所有其他通道类型都包含在类型中。

如果您想提供您将使用相同的权限:

setmqaut -m local -t clntconn -n SYSTEM.** -p test +all 

见我的回答你的问题“IBM MQ - Permissions - Read perspective”关于如何设置只读权限的更多细节。