问题描述
服务器和客户端都已配置好(mq7.0试用版),并且可发送和接收消息,但自己编写的一个java程序时报如下错误atcom.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:869)atcom.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:761)atcom.ibm.mq.MQQueueManagerFactory.constructQueueManager(MQQueueManagerFactory.java:712)atcom.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:171)atcom.ibm.mq.MQQueueManager.<init>(MQQueueManager.java:597)atcom.mqcase.PtpSender.main(PtpSender.java:32)Causedby:com.ibm.mq.jmqi.JmqiException:CC=2;RC=2059;AMQ9204:与主机'192.168.1.195(1415)'的连接被拒绝。[1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2059;AMQ9503:通道协商失败。[3=CONN.MQ_00001]],3=192.168.1.195(1415),5=RemoteConnection.initSess]atcom.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1809)atcom.ibm.mq.MQSESSION.MQCONNX_j(MQSESSION.java:915)atcom.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:224)...10moreCausedby:com.ibm.mq.jmqi.JmqiException:CC=2;RC=2059;AMQ9503:通道协商失败。[3=CONN.MQ_00001]atcom.ibm.mq.jmqi.remote.internal.system.RemoteConnection.initSess(RemoteConnection.java:1478)atcom.ibm.mq.jmqi.remote.internal.system.RemoteConnection.connect(RemoteConnection.java:1078)atcom.ibm.mq.jmqi.remote.internal.system.RemoteConnectionPool.getConnection(RemoteConnectionPool.java:338)atcom.ibm.mq.jmqi.remote.internal.RemoteFAP.jmqiConnect(RemoteFAP.java:1488)...12more具体原代码如下:packagecom.mqcase;importcom.ibm.mq.MQEnvironment;importcom.ibm.mq.MQC;importcom.ibm.mq.MQException;importcom.ibm.mq.MQMessage;importcom.ibm.mq.MQPutMessageOptions;importcom.ibm.mq.MQQueue;importcom.ibm.mq.MQQueueManager;publicclassPtpSender{/***@paramargs*/publicstaticvoidmain(String[]args){try{StringhostName="192.168.1.195";//主机名Stringchannel="CONN.MQ_00001";//服务器连接通道名StringqManager="MQ_00001";//队列管理器名StringqName="Q00001";//队列名intport=1415;intccsid=1381;/*设置MQEnvironment属性以便客户机连接*/MQEnvironment.hostname=hostName;MQEnvironment.channel=channel;MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES_CLIENT);MQEnvironment.CCSID=ccsid;MQEnvironment.port=port;/*连接到队列管理器*/MQQueueManagerqMgr=newMQQueueManager(qManager);/*设置打开选项以便打开用于输出的队列,如果队列管理器正在停止,我们也已设置了选项去应对不成功情况。*///intopenOptions=MQC.MQOO_OUTPUT|MQC.MQOO_FAIL_IF_QUIESCING;/*打开队列*///MQQueuequeue=qMgr.accessQueue(qName,openOptions,null,null,//null);/*设置放置消息选项我们将使用默认设置*///MQPutMessageOptionspmo=newMQPutMessageOptions();/*创建消息,MQMessage类包含实际消息数据的数据缓冲区,和描述消息的所有MQMD参数*//*创建消息缓冲区*///MQMessageoutMsg=newMQMessage();/*设置MQMD格式字段*///outMsg.format=MQC.MQFMT_STRING;/*准备用户数据消息*///StringmsgString="TestMessagefromPtpSenderprogram";//outMsg.writeString(msgString);/*在队列上放置消息*///queue.put(outMsg,pmo);/*提交事务处理*///qMgr.commit();//System.out.println("ThemessagehasbeenSuccessfullyput!n");/*关闭队列和队列管理器对象*///queue.close();qMgr.disconnect();}catch(MQExceptionex){System.out.println("AnMQErrorOccurred:CompletionCodeis:t"+ex.completionCode+"nnTheReasonCodeis:t"+ex.reasonCode);ex.printStackTrace();}/*catch(Exceptione){e.printStackTrace();}*/}调试程序时报如下错误}
解决方案
解决方案二:
是因为有防火墙吗?
解决方案三:
com.ibm.mq.jmqi.JmqiException:CC=2;RC=2059;AMQ9204:与主机'192.168.1.119(1415)'的连接被拒绝。[1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2059;AMQ9213:的通信出错。[1=java.net.ConnectException[Connectionrefused:connect],3=PC-200911190236]],3=192.168.1.119(1415),5=RemoteTCPConnection.connnectUsingLocalAddress]我也是这种错误。请教下楼主怎么解决到我的版本也是7.0,服务器端在liunx上。!急!!我邮箱360525082@qq.com重谢!
解决方案四:
com.ibm.mq.jar版本有问题
解决方案五:
该回复于2011-07-26 10:53:53被版主删除