基于WebSphere MQ的收发消息程序2

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

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_DEFMQC.MQOO_OUTPUTMQC.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在中国市场上一定会成为一颗刺眼的明星。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有