怎么样解决使用MQ时遇到的CCSID问题?

怎么样解决使用MQ时遇到的CCSID问题?

今天在做MQ的一个例子程序的时候,遇到了CCSID问题,还好弄了半天终于搞定了 :)

今天把MQ文档中的例子拿来做了一下,在调试的过程中遇到了CCSID问题。

下面先把程序总体思路说一下,软硬件的环境是:我使用一台PC机做服务器,并在这台机器上安装WebSphere MQ的服务器。然后把另外一台PC机作为客户端,并且在这台机器上安装WebSphere MQ的Windows 版客户端。服务器端的操作系统是Windows 2000 Professional,客户端是Windows XP。

我做的这个例子是通过客户端的方式来向服务器传递消息。服务器上的MQ中的参数为:

hostname:neu

MQM name: QM_guo

Channel name:ch_server

Q name:Q_guo

PtpSender.java(用于向服务器端传递消息) PtpReceiver.java(用于从服务器端得到消息)

程序代码如下:

怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?/*
怎么样解决使用MQ时遇到的CCSID问题?*Createdon2005-1-18
怎么样解决使用MQ时遇到的CCSID问题?*
怎么样解决使用MQ时遇到的CCSID问题?*TODOTochangethetemplateforthisgeneratedfilegoto
怎么样解决使用MQ时遇到的CCSID问题?*Window-Preferences-Java-CodeStyle-CodeTemplates
怎么样解决使用MQ时遇到的CCSID问题?
*/

怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
/**
怎么样解决使用MQ时遇到的CCSID问题?*@authorRalph
怎么样解决使用MQ时遇到的CCSID问题?*
怎么样解决使用MQ时遇到的CCSID问题?*TODOTochangethetemplateforthisgeneratedtypecommentgoto
怎么样解决使用MQ时遇到的CCSID问题?*Window-Preferences-Java-CodeStyle-CodeTemplates
怎么样解决使用MQ时遇到的CCSID问题?
*/

怎么样解决使用MQ时遇到的CCSID问题?importcom.ibm.mq.*;
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
publicclassPtpSender{
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
publicstaticvoidmain(String[]args){
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
try{
怎么样解决使用MQ时遇到的CCSID问题?StringhostName
="neu";
怎么样解决使用MQ时遇到的CCSID问题?Stringchannel
="ch_server";
怎么样解决使用MQ时遇到的CCSID问题?StringqManager
="QM_guo";
怎么样解决使用MQ时遇到的CCSID问题?StringqName
="Q_guo";
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//setuptheMQEnvironmentpropertiesfortheclient
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.hostname=hostName;
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.channel
=channel;
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,MQC.TRANSPORT_MQSERIES);
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.CCSID
=1381;
怎么样解决使用MQ时遇到的CCSID问题?
//connetiontoQManager
怎么样解决使用MQ时遇到的CCSID问题?MQQueueManagerqMgr=newMQQueueManager(qManager);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//setuptheopenoptions
怎么样解决使用MQ时遇到的CCSID问题?intopenOptions=MQC.MQOO_OUTPUT|MQC.MQOO_FAIL_IF_QUIESCING;
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//opentheQ
怎么样解决使用MQ时遇到的CCSID问题?MQQueuequeue=qMgr.accessQueue(qName,openOptions,null,null,null);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//settheputmessageoptions,willusethedefaultsettings
怎么样解决使用MQ时遇到的CCSID问题?MQPutMessageOptionspmo=newMQPutMessageOptions();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//buildamessageandwritedata
怎么样解决使用MQ时遇到的CCSID问题?MQMessageoutMsg=newMQMessage();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//preparemessagewiththeuserdata
怎么样解决使用MQ时遇到的CCSID问题?StringmsgString="TestMessagefromPtpSenderprogram";
怎么样解决使用MQ时遇到的CCSID问题?outMsg.writeUTF(msgString);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//NowweputthemessageontheQ
怎么样解决使用MQ时遇到的CCSID问题?queue.put(outMsg,pmo);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//committhetransaction
怎么样解决使用MQ时遇到的CCSID问题?qMgr.commit();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?System.out.println(
"Themessagehasbeensussesfullyput #####");
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//closetheQandQManagerobjects
怎么样解决使用MQ时遇到的CCSID问题?queue.close();
怎么样解决使用MQ时遇到的CCSID问题?qMgr.disconnect();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?catch(MQExceptionex){
怎么样解决使用MQ时遇到的CCSID问题?System.out.println(
"completioncode:"+ex.completionCode+" Reasoncode:"+ex.reasonCode);
怎么样解决使用MQ时遇到的CCSID问题?ex.printStackTrace();
怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?catch(Exceptione){
怎么样解决使用MQ时遇到的CCSID问题?e.printStackTrace();
怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.mq.MQC;
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.mq.MQEnvironment;
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.mq.MQQueue;
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.mq.MQQueueManager;
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.*;
怎么样解决使用MQ时遇到的CCSID问题?
importcom.ibm.mq.*;
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
/*
怎么样解决使用MQ时遇到的CCSID问题?*Createdon2005-1-18
怎么样解决使用MQ时遇到的CCSID问题?*
怎么样解决使用MQ时遇到的CCSID问题?*TODOTochangethetemplateforthisgeneratedfilegoto
怎么样解决使用MQ时遇到的CCSID问题?*Window-Preferences-Java-CodeStyle-CodeTemplates
怎么样解决使用MQ时遇到的CCSID问题?
*/

怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
/**
怎么样解决使用MQ时遇到的CCSID问题?*@authorRalph
怎么样解决使用MQ时遇到的CCSID问题?*
怎么样解决使用MQ时遇到的CCSID问题?*TODOTochangethetemplateforthisgeneratedtypecommentgotoWindow-
怎么样解决使用MQ时遇到的CCSID问题?*Preferences-Java-CodeStyle-CodeTemplates
怎么样解决使用MQ时遇到的CCSID问题?
*/

怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?publicclassPtpReceiver{
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
publicstaticvoidmain(String[]args){
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?
try{
怎么样解决使用MQ时遇到的CCSID问题?StringhostName
="neu";
怎么样解决使用MQ时遇到的CCSID问题?Stringchannel
="ch_server";
怎么样解决使用MQ时遇到的CCSID问题?StringqManager
="QM_guo";
怎么样解决使用MQ时遇到的CCSID问题?StringqName
="Q_guo";
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//setuptheMQEnvironmentpropertiesfortheclient
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.hostname=hostName;
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.channel
=channel;
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
怎么样解决使用MQ时遇到的CCSID问题?MQC.TRANSPORT_MQSERIES);
怎么样解决使用MQ时遇到的CCSID问题?MQEnvironment.CCSID
=1381;
怎么样解决使用MQ时遇到的CCSID问题?
//connetiontoQManager
怎么样解决使用MQ时遇到的CCSID问题?MQQueueManagerqMgr=newMQQueueManager(qManager);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//setuptheopenoptions
怎么样解决使用MQ时遇到的CCSID问题?intopenOptions=MQC.MQOO_INPUT_SHARED
怎么样解决使用MQ时遇到的CCSID问题?
|MQC.MQOO_FAIL_IF_QUIESCING;
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//opentheQ
怎么样解决使用MQ时遇到的CCSID问题?MQQueuequeue=qMgr.accessQueue(qName,openOptions,null,null,
怎么样解决使用MQ时遇到的CCSID问题?
null);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//setgetmessageoptions
怎么样解决使用MQ时遇到的CCSID问题?MQGetMessageOptionsgmo=newMQGetMessageOptions();
怎么样解决使用MQ时遇到的CCSID问题?gmo.options
=gmo.options+MQC.MQGMO_SYNCPOINT;
怎么样解决使用MQ时遇到的CCSID问题?gmo.options
=gmo.options+MQC.MQGMO_WAIT;
怎么样解决使用MQ时遇到的CCSID问题?gmo.options
=gmo.options+MQC.MQGMO_FAIL_IF_QUIESCING;
怎么样解决使用MQ时遇到的CCSID问题?gmo.waitInterval
=3000;
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//buildmssage
怎么样解决使用MQ时遇到的CCSID问题?MQMessageinMsg=newMQMessage();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//getthemessagefromQ
怎么样解决使用MQ时遇到的CCSID问题?queue.get(inMsg,gmo);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//readthedatafromthemessage
怎么样解决使用MQ时遇到的CCSID问题?StringmsgString=inMsg.readUTF();
怎么样解决使用MQ时遇到的CCSID问题?System.out.println(
"TheMessagefromQis:"+msgString);
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//committhetrasaction
怎么样解决使用MQ时遇到的CCSID问题?qMgr.commit();
怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?
//closetheQandconnection
怎么样解决使用MQ时遇到的CCSID问题?queue.close();
怎么样解决使用MQ时遇到的CCSID问题?qMgr.disconnect();
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?}
catch(MQExceptionex){
怎么样解决使用MQ时遇到的CCSID问题?System.out.println(
"Completioncodeis:"+ex.completionCode
怎么样解决使用MQ时遇到的CCSID问题?
+" reasoncodeis:"+ex.reasonCode);
怎么样解决使用MQ时遇到的CCSID问题?ex.printStackTrace();
怎么样解决使用MQ时遇到的CCSID问题?怎么样解决使用MQ时遇到的CCSID问题?}
catch(Exceptione){
怎么样解决使用MQ时遇到的CCSID问题?e.printStackTrace();
怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?}

怎么样解决使用MQ时遇到的CCSID问题?
怎么样解决使用MQ时遇到的CCSID问题?