程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 基於WebSphere MQ的收發消息程序2

基於WebSphere MQ的收發消息程序2

編輯:JAVA編程入門知識

MQ軟件提供一個JAVA軟件包,裡面有JMS類庫,和一套MQ的類庫。不熟悉MQI編程方法的程序員可以用JMS,比較熟悉MQI編程方法的程序則可以用MQ類庫來編程。下面的小程序是使用Java實現從隊列管理器QM_SERVER中的隊列INITQ寫入或讀出消息。

package transfer;
import com.ibm.mq.*;
public class SendMSG1
{
private MQQueueManager qMgr;//定義一個隊列管理器變量
public static void main(String args[])
{
new SendMSG1();
}
public SendMSG1()
{
MQEnvironment.hostname="192.168.1.18";//本地IP
MQEnvironment.channel="CHANNEL1";//用來通信的通道
MQEnvironment.CCSID =1381;
try{
qMgr=new MQQueueManager("QM_SERVER");//隊列管理器名稱
int openOptions=MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE;
MQQueue queue=qMgr.accessQueue("INITQ",openOptions,null,null,null);
//建立連接
MQMessage hello=new MQMessage();//要寫入隊列的消息
try{
hello.format=MQC.MQFMT_STRING ;
hello.characterSet=1381 ;
hello.writeString("這是測試!");
}
catch(java.io.IOException ex)
{}finally{};
MQPutMessageOptions pmo=new MQPutMessageOptions();
for (int i=1;i<=5;i++)//將消息依次寫入隊列
{
hello.expiry=-1; //設置消息用不過期
queue.put(hello);//將消息放入隊列
}
queue.close() ;//關閉隊列
qMgr.disconnect() ; //斷開連接
}
catch(Exception ex)
{}
finally{};
}
}

程序的運行結果如下圖3所示:

圖3 程序運行結果界面

這個例子僅僅是向隊列INITQ寫入了5條相同的消息,當然,在實際應用中,消息可能是多種多樣的,如果要傳送數據庫的內容,則可以在寫入消息時,用一些特殊的符號來將各字段的數據區分開,那麼在消息讀出時,也可以根據此特殊的符號來讀取數據。依據同樣的步驟:和隊列管理器建立連接-從隊列讀取消息---關閉隊列---斷開連接,可以用Java寫出如何從隊列中讀出消息。

MQ有許多顯著的優點,比如借住在不同的平台上使用相同的應用程序接口,它能輕松的實現跨平台通信,從而能夠使開發人員避開網絡的復雜性;比如它對消息的處理不依賴於時間,在消息創建和發送時,不受時間的限制,增加了處理的靈活性......

總之,MQ的特點以及IBM公司在企業應用領域所付出的巨大努力,使得它具有極強的生命力。現在,大量的政府部門、金融、電信和企業用戶使用WebSphere MQ作為企業電子商務的基礎平台。有理由相信,隨著政府辦公自動化、企業信息化的腳步的不斷前進,WebSphere在中國市場上一定會成為一顆耀眼的明星。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved