服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

基于websphere mq的收发消息程序2

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所示:

基于websphere mq的收发消息程序2

图3 程序运行结果界面

这个例子仅仅是向队列initq写入了5条相同的消息,当然,在实际应用中,消息可能是多种多样的,如果要传送数据库的内容,则可以在写入消息时,用一些特殊的符号来将各字段的数据区分开,那么在消息读出时,也可以根据此特殊的符号来读取数据。依据同样的步骤:和队列管理器建立连接-从队列读取消息---关闭队列---断开连接,可以用java写出如何从队列中读出消息。

mq有许多显著的优点,比如借住在不同的平台上使用相同的应用程序接口,它能轻松的实现跨平台通信,从而能够使开发人员避开网络的复杂性;比如它对消息的处理不依赖于时间,在消息创建和发送时,不受时间的限制,增加了处理的灵活性......

总之,mq的特点以及ibm公司在企业应用领域所付出的巨大努力,使得它具有极强的生命力。现在,大量的政府部门、金融、电信和企业用户使用websphere mq作为企业电子商务的基础平台。有理由相信,随着政府办公自动化、企业信息化的脚步的不断前进,websphere在中国市场上一定会成为一颗耀眼的明星。

扫描关注微信公众号