2017-05-03 192 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」關於如何設置只讀權限的更多細節。