您现在的位置是:首页
>
为什么要搭建测试环境 WebSphere MQ传输环境搭建和测试
We S here MQ传输环境搭建和测试 在 We S here MQ程序设计初探 一文中 讨论了从MQ队列管理器的本地队列中放置和读出消息的程序 本文主要通过两台机器 搭建MQ消息传输的环境 并编

WebSphere MQ传输环境搭建和测试
在 WebSphere MQ程序设计初探 一文中 讨论了从MQ队列管理器的本地队列中放置和读出消息的程序 本文主要通过两台机器 搭建MQ消息传输的环境 并编写测试程序进行测试 第一 准备工作准备 台Win 环境(XP也可) 通过以太网连通 机器A 代码为 IP地址为 机器B 代码为 IP地址为 安装MQ 第二 创建MQ对象A机器上 打开 WebSphere MQ资源管理器 新建队列管理器 名称为QM_ 其余采用默认设置; 在QM_ 队列管理器中创建本地队列 名称为LQ_ ; 创建传输队列 名称为XQ_ (新建时选择 本地队列 将 用法 设置为 传输 ); 创建远程队列定义 名称为RQ_ 指定远程队列名称为LQ_ 远程队列管理器名称为QM_ 传输队列名称为XQ_ ; 创建发送方通道 名称为 传输协议为TCP/IP 连接名称为 ( ) 传输队列为XQ_ ; 创建接受方通道 名称为 采用默认设置 创建服务器连接通道 名称为DC SVRCONN 采用默认设置(该通道主要给后面的测试程序使用) B机器和A机器上的操作一样 只是命名不同 如下 打开 WebSphere MQ资源管理器 新建队列管理器 名称为QM_ 其余采用默认设置; 在QM_ 队列管理器中创建本地队列 名称为LQ_ ; 创建传输队列 名称为XQ_ (新建时选择 本地队列 将 用法 设置为 传输 ); 创建远程队列定义 名称为RQ_ 指定远程队列名称为LQ_ 远程队列管理器名称为QM_ 传输队列名称为XQ_ ; 创建发送方通道 名称为 传输协议为TCP/IP 连接名称为 ( ) 传输队列为XQ_ ; 创建接受方通道 名称为 采用默认设置 创建服务器连接通道 名称为DC SVRCONN 采用默认设置 第三 消息测试在A B机器上分别启动其发送方通道 正常情况通道状态应为 正在运行 通过如下测试程序进行测试 文件名为 MQTest java 在机器A上进行运行(如在B上运行请读者自行适当修改) import java io IOException;import java util Hashtable;import ibm mq MQException;import ibm mq MQMessage;import ibm mq MQPutMessageOptions;import ibm mq MQQueue;import ibm mq MQQueueManager;public class MQSample{ //定义队列管理器和队列的名称 private static String qmName = QM_ ; private static String qName = RQ_ ; private static MQQueueManager qMgr; private static Hashtable properties = new Hashtable(); public static void main(String args[]) { try { properties put( hostname ); properties put( port new Integer( )); properties put( channel DC SVRCONN ); properties put( CCSID new Integer( )); 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 = ; // 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 + pletionCode + 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_ 中检查是否有消息存在 如果有说明测试成功 读者可以自行编写把消息从对方的本地队列读取出来的程序 如果读者对以上的内容有任何疑问 可以和我联系 版权所有 严禁转载参考资料 《WebSphere MQ System Administration Guide》Third edition (May ) SC 《WebSphere MQ Using Java》Third edition (January ) SC 附件 MQTest java( K) lishixinzhi/Article/program/Java/JSP/201311/19760 很赞哦! (1028)