2017-01-20 169 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队列在本地的队列管理器。