网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  websphere mq传输环境搭建和测试     
  文章作者:未知  文章来源:水木森林  
  查看:100次  录入:管理员--2007-11-17  
      在“websphere mq程序设计初探”一文中,讨论了从mq队列管理器的本地队列中放置和读出消息的程序,本文主要通过两台机器,搭建mq消息传输的环境,并编写测试程序进行测试。
第一、准备工作
准备2台win2000环境(xp也可),通过以太网连通。
机器a:代码为00000000,ip地址为:10.1.1.1
机器b:代码为88888888,ip地址为:10.1.1.2
安装mq 5.3

第二、创建mq对象
a机器上:
1、打开“websphere mq资源管理器”,新建队列管理器,名称为qm_00000000,其余采用默认设置;
2、在qm_00000000队列管理器中创建本地队列,名称为lq_00000000;
3、创建传输队列,名称为xq_88888888(新建时选择“本地队列”,将“用法”设置为“传输”);
4、创建远程队列定义,名称为rq_88888888,指定远程队列名称为lq_88888888,远程队列管理器名称为qm_88888888,传输队列名称为xq_88888888;
5、创建发送方通道,名称为00000000.88888888,传输协议为tcp/ip,连接名称为10.1.1.2(1414),传输队列为xq_88888888;
6、创建接受方通道,名称为88888888.00000000,采用默认设置;
7、创建服务器连接通道,名称为dc.svrconn,采用默认设置(该通道主要给后面的测试程序使用)。
b机器和a机器上的操作一样,只是命名不同,如下:
1、打开“websphere mq资源管理器”,新建队列管理器,名称为qm_88888888,其余采用默认设置;
2、在qm_88888888队列管理器中创建本地队列,名称为lq_88888888;
3、创建传输队列,名称为xq_00000000(新建时选择“本地队列”,将“用法”设置为“传输”);
4、创建远程队列定义,名称为rq_00000000,指定远程队列名称为lq_00000000,远程队列管理器名称为qm_00000000,传输队列名称为xq_00000000;
5、创建发送方通道,名称为88888888.00000000,传输协议为tcp/ip,连接名称为10.1.1.1(1414),传输队列为xq_00000000;
6、创建接受方通道,名称为00000000.88888888,采用默认设置;
7、创建服务器连接通道,名称为dc.svrconn,采用默认设置。

第三、消息测试
在a、b机器上分别启动其发送方通道,正常情况通道状态应为“正在运行”。
通过如下测试程序进行测试,文件名为:mqtest.java,在机器a上进行运行(如在b上运行请读者自行适当修改)。
-------------------------------------------------------------------------------------------
import java.io.ioexception;
import java.util.hashtable;

import com.ibm.mq.mqexception;
import com.ibm.mq.mqmessage;
import com.ibm.mq.mqputmessageoptions;
import com.ibm.mq.mqqueue;
import com.ibm.mq.mqqueuemanager;

public class mqsample{
    //定义队列管理器和队列的名称 
    private static string qmname = "qm_00000000"; 
    private static string qname = "rq_88888888";
    
    private static mqqueuemanager qmgr; 
    private static hashtable properties = new hashtable();

    public static void main(string args[]) {
        try {
            properties.put("hostname", "10.1.1.1");
            properties.put("port", new integer(1414));
            properties.put("channel", "dc.svrconn");
            properties.put("ccsid", new integer(1381));
            properties.put("transport","mqseries");
            
            // create a connection to the queue manager 
            qmgr = new mqqueuemanager(qmname,properties); 
            // set up the options on the queue we wish to open... 
            int openoptions = 16;
            // now specify the queue that we wish to open, 
            // and the open options... 
            mqqueue remoteq = qmgr.accessqueue(qname, openoptions); 
            
            // define a simple websphere mq message, and write some text in utf format.. 
            mqmessage putmessage = new mqmessage(); 
            putmessage.writeutf("test"); 
            // specify the message options... 
            mqputmessageoptions pmo = new mqputmessageoptions(); 
            // accept the defaults, same as mqpmo_default
            // put the message on the queue 
            remoteq.put(putmessage,pmo); 
            system.out.println("message has been input into the remote queue");

            // close the queue... 
            remoteq.close(); 
            // disconnect from the queue manager 
            qmgr.disconnect(); 
        }catch (mqexception ex) { 
            // if an error has occurred in the above, try to identify what went wrong 
            // was it a websphere mq error? 
            system.out.println("a websphere mq error occurred : completion code " + ex.completioncode + 
          " reason code " + ex.reasoncode); 
        }catch (ioexception ex) { 
            // was it a java buffer space error? 
            system.out.println("an error occurred whilst writing to the message buffer: " + ex); 
        }catch(exception ex){
            ex.printstacktrace();
        }
    }
}
-------------------------------------------------------------------------------------------
运行程序后,请在b机器的本地队列lq_88888888中检查是否有消息存在,如果有说明测试成功。
读者可以自行编写把消息从对方的本地队列读取出来的程序。
如果读者对以上的内容有任何疑问,可以和我联系,qianh@cntmi.com 
版权所有,严禁转载

参考资料:
1、《websphere mq system administration guide》third edition (may 2004),sc34-6068-02
2、《websphere mq using java》third edition (january 2004),sc34-6066-02
附件:mqtest.java(2k) 
 
 
上一篇: 开源技术:tomcat5.0下配置ssl    下一篇: spring框架下实现基于组的用户权限管理
  相关文档
jsp学习记录(六)——page 命令 11-17
sl-110 课程简介 11-16
数据源在jdbc中的应用(2) 11-17
java虚拟机学习笔记2 11-17
用状态栏提示改善javagui 11-17
使用jaxb处理xml文档??先睹为快 11-17
用java从oracle取数 11-17
在linux 下配置jsp开发环境(一) 11-17
j2ee层次设计架构实例的分析详解(1) 11-16
java对象持久化技术hibernate入门之一 11-16
jakarta common digester 应用 11-16
scjp考题中的陷阱 11-17
在j2me中实现欢迎界面(附源代码) 11-17
java单元测试工具的最新版本agitarone 11-16
详细介绍并掌握j2me的安全结构 11-17
关于java栈与堆的思考 11-16
05年11月程序语言世界排行-java居首位(组图) 11-17
微软.net visual studio 2008 功能提升 08-27
junit实战 11-17
jdbc技术介绍 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息