白玉成的專欄

          Eclipse,讓我歡喜讓我憂!

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            17 隨筆 :: 0 文章 :: 6 評論 :: 0 Trackbacks
          發(fā)送器
          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" ;

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

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

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

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

          /*創(chuàng)建消息,MQMessage 類包含實際消息數(shù)據(jù)的數(shù)據(jù)緩沖區(qū),和描述消息的所有MQMD 參數(shù)*/

          /*創(chuàng)建消息緩沖區(qū)*/
          MQMessage outMsg 
          = new MQMessage(); 

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

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

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

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

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

          /*關(guā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" ;

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

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

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

          /*設(shè)置打開選項以便打開用于輸出的隊列,如果隊列管理器停止,我們也
          已設(shè)置了選項去應(yīng)對不成功情況
          */

          int openOptions = MQC.MQOO_INPUT_SHARED |
             MQC.MQOO_FAIL_IF_QUIESCING ;

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

          /*設(shè)置放置消息選項*/
          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 ; 

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

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

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

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

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

          /*關(guā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();
          }

          }

          }

          posted on 2008-11-27 23:33 白玉成 閱讀(2514) 評論(0)  編輯  收藏 所屬分類: Websphere

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 皋兰县| 监利县| 新巴尔虎右旗| 朝阳市| 西乡县| 泰兴市| 巴南区| 会宁县| 久治县| 河间市| 台中市| 罗甸县| 句容市| 海丰县| 新巴尔虎右旗| 根河市| 双峰县| 横山县| 漠河县| 麟游县| 康保县| 六安市| 柳江县| 呼图壁县| 邵阳县| 渭南市| 阜康市| 南京市| 扬州市| 乐昌市| 贵州省| 神木县| 洛南县| 英吉沙县| 玛曲县| 清水县| 新津县| 常宁市| 东阳市| 临漳县| 甘洛县|