2017-01-20 170 views
1

您能否幫助我,我試圖找到通過SSL通道的ibm mq深度。IBM MQ隊列的深度

Security.setProperty("ssl.SocketFactory.provider", 
     "com.ibm.jsse2.SSLSocketFactoryImpl"); 
Security.setProperty("ssl.ServerSocketFactory.provider", 
     "com.ibm.jsse2.SSLServerSocketFactoryImpl"); 

System.setProperty("javax.net.ssl.trustStore", "abcd.jks"); 
System.setProperty("javax.net.ssl.trustStorePassword", 
     "abcd"); 

System.setProperty("javax.net.ssl.keyStore", "abcd.jks"); 
System.setProperty("javax.net.ssl.keyStorePassword", 
    "abcd"); 


int openOptions = MQC.MQOO_INQUIRE + MQC.MQOO_INPUT_AS_Q_DEF; 

MQEnvironment.hostname = "test"; 
MQEnvironment.port = 1234; 
MQEnvironment.channel = "test"; 

MQEnvironment.sslCipherSuite = "TLS_RSA_WITH_AES_128_CBC_SHA"; 

MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY, 
     MQC.TRANSPORT_MQSERIES_CLIENT); 

MQQueueManager qMgr = new MQQueueManager("test"); 

MQQueue destQueue = qMgr.accessQueue("TEST.ERROR", openOptions); 
System.out.println("TEST.ERROR size:" + destQueue.getCurrentDepth()); 
destQueue.close(); 
qMgr.disconnect(); 


     } catch (MQException e) { 

     e.printStackTrace(); 
     } 

當我嘗試運行這段代碼,我得到了以下異常:

MQJE001:完成碼1,原因:2068

回答

2

的原因代碼2068 clearly states您想獲得深度的遠程隊列。你不能 - 它在不同的盒子上。您必須連接到您的TEST.ERROR隊列在本地的隊列管理器。