發送器:
import com.ibm.mq.*;
public class Typesetter {
public static void main(String args[]) {
try
{
String hostName = "ITSOG" ;
String channel = "JAVA.CLIENT.CHNL" ;
String qManager = "ITSOG.QMGR1" ;
String qName = "SAMPLE.QUEUE" ;

/*設置MQEnvironment 屬性以便客戶機連接*/
MQEnvironment.hostname = hostName ;
MQEnvironment.channel = channel ;
MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
MQC.TRANSPORT_WEBSPHERE MQ);
/*連接到隊列管理器*/
MQQueueManager qMgr = new MQQueueManager(qManager) ;

/*設置打開選項以便打開用于輸出的隊列,如果隊列管理器正在停止,我們也已設置了選項去應對不成功情況。*/
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING ;

/*打開隊列*/
MQQueue queue = qMgr.accessQueue(qName,
openOptions,
null,
null,
null);

/*設置放置消息選項我們將使用默認設置*/
MQPutMessageOptions pmo = new MQPutMessageOptions();

/*創建消息,MQMessage 類包含實際消息數據的數據緩沖區,和描述消息的所有MQMD 參數*/

/*創建消息緩沖區*/
MQMessage outMsg = new MQMessage();

/*設置MQMD 格式字段*/
outMsg.format = MQC.MQFMT_STRING ;

/*準備用戶數據消息*/
String msgString = "Test Message from PtpSender program ";
outMsg.writeString(msgString);

/*在隊列上放置消息*/
queue.put(outMsg, pmo);

/*提交事務處理*/
qMgr.commit();

System.out.println(" The message has been Successfully put!\n");

/*關閉隊列和隊列管理器對象*/
queue.close();
qMgr.disconnect();
}
catch (MQException ex)
{
System.out.println("An MQ Error Occurred: Completion Code is :\t" +
ex.completionCode + "\n\n The Reason Code is :\t" + ex.reasonCode );
ex.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
}
}
接收器:
import com.ibm.mq.* ;
public class PtpReceiver {
public static void main(String args[]) {
try
{
String hostName = "ITSOG" ;
String channel = "JAVA.CLIENT.CHNL" ;
String qManager = "ITSOG.QMGR1" ;
String qName = "SAMPLE.QUEUE" ;

/設置 MQEnvironment 屬性以便客戶機連接*/
MQEnvironment.hostname = hostName ;
MQEnvironment.channel = channel ;

MQEnvironment.properties.put(MQC.TRANSPORT_PROPERTY,
MQC.TRANSPORT_WEBSPHERE MQ);

/*連接到隊列管理器*/
MQQueueManager qMgr = new MQQueueManager(qManager) ;

/*設置打開選項以便打開用于輸出的隊列,如果隊列管理器停止,我們也
已設置了選項去應對不成功情況*/
int openOptions = MQC.MQOO_INPUT_SHARED |
MQC.MQOO_FAIL_IF_QUIESCING ;

/*打開隊列*/
MQQueue queue = qMgr.accessQueue(qName,
openOptions,
null,
null,
null);

/*設置放置消息選項*/
MQGetMessageOptions gmo = new MQGetMessageOptions();

/*在同步點控制下獲取消息*/
gmo.options = gmo.options + MQC.MQGMO_SYNCPOINT ;

/*如果在隊列上沒有消息則等待*/
gmo.options = gmo.options + MQC.MQGMO_WAIT ;

/*如果隊列管理器停頓則失敗*/
gmo.options = gmo.options + MQC.MQGMO_FAIL_IF_QUIESCING ;

/*設置等待的時間限制*/
gmo.waitInterval = 3000 ;

/*創建MQMessage 類*/
MQMessage inMsg = new MQMessage();

/*從隊列到消息緩沖區獲取消息*/
queue.get(inMsg, gmo) ;

/*從消息讀取用戶數據*/
String msgString = inMsg.readString(inMsg.getMessageLength());
System.out.println(" The Message from the Queue is : " + msgString);

/*提交事務*/
qMgr.commit();

/*關閉隊列和隊列管理器對象*/
queue.close();
qMgr.disconnect();
}
catch (MQException ex)
{
System.out.println("An MQ Error Occurred: Completion Code is :\t" +
ex.completionCode + "\n\n The Reason Code is :\t" + ex.reasonCode );
ex.printStackTrace();
}
catch(Exception e) {
e.printStackTrace();
}
}
}



































































接收器:











































































