web前端

位置:IT落伍者 >> web前端 >> 浏览文章

WebSphere MQ传输环境搭建和测试


发布日期:2024年02月17日
 
WebSphere MQ传输环境搭建和测试
WebSphereMQ程序设计初探一文中讨论了从MQ队列管理器的本地队列中放置和读出消息的程序本文主要通过两台机器搭建MQ消息传输的环境并编写测试程序进行测试

第一准备工作

准备台Win环境(XP也可)通过以太网连通

机器A代码为IP地址为

机器B代码为IP地址为

安装MQ

第二创建MQ对象

A机器上

打开WebSphereMQ资源管理器新建队列管理器名称为QM_其余采用默认设置;

在QM_队列管理器中创建本地队列名称为LQ_;

创建传输队列名称为XQ_(新建时选择本地队列用法设置为传输);

创建远程队列定义名称为RQ_指定远程队列名称为LQ_远程队列管理器名称为QM_传输队列名称为XQ_;

创建发送方通道名称为传输协议为TCP/IP连接名称为()传输队列为XQ_;

创建接受方通道名称为采用默认设置

创建服务器连接通道名称为DCSVRCONN采用默认设置(该通道主要给后面的测试程序使用)

B机器和A机器上的操作一样只是命名不同如下

打开WebSphereMQ资源管理器新建队列管理器名称为QM_其余采用默认设置;

在QM_队列管理器中创建本地队列名称为LQ_;

创建传输队列名称为XQ_(新建时选择本地队列用法设置为传输);

创建远程队列定义名称为RQ_指定远程队列名称为LQ_远程队列管理器名称为QM_传输队列名称为XQ_;

创建发送方通道名称为传输协议为TCP/IP连接名称为()传输队列为XQ_;

创建接受方通道名称为采用默认设置

创建服务器连接通道名称为DCSVRCONN采用默认设置

第三消息测试

在AB机器上分别启动其发送方通道正常情况通道状态应为正在运行

通过如下测试程序进行测试文件名为MQTestjava在机器A上进行运行(如在B上运行请读者自行适当修改)

importjavaioIOException;

importjavautilHashtable;

importcomibmmqMQException;

importcomibmmqMQMessage;

importcomibmmqMQPutMessageOptions;

importcomibmmqMQQueue;

importcomibmmqMQQueueManager;

publicclassMQSample{

//定义队列管理器和队列的名称

privatestaticStringqmName=QM_;

privatestaticStringqName=RQ_;

privatestaticMQQueueManagerqMgr;

privatestaticHashtableproperties=newHashtable();

publicstaticvoidmain(Stringargs[]){

try{

propertiesput(hostname);

propertiesput(portnewInteger());

propertiesput(channelDCSVRCONN);

propertiesput(CCSIDnewInteger());

propertiesput(transportMQSeries);

//Createaconnectiontothequeuemanager

qMgr=newMQQueueManager(qmNameproperties);

//Setuptheoptionsonthequeuewewishtoopen

intopenOptions=;

//Nowspecifythequeuethatwewishtoopen

//andtheopenoptions

MQQueueremoteQ=qMgraccessQueue(qNameopenOptions);

//DefineasimpleWebSphereMQmessageandwritesometextinUTFformat

MQMessageputMessage=newMQMessage();

putMessagewriteUTF(Test);

//specifythemessageoptions

MQPutMessageOptionspmo=newMQPutMessageOptions();

//acceptthedefaultssameasMQPMO_DEFAULT

//putthemessageonthequeue

remoteQput(putMessagepmo);

Systemoutprintln(MessagehasbeeninputintotheRemoteQueue);

//Closethequeue

remoteQclose();

//Disconnectfromthequeuemanager

qMgrdisconnect();

}catch(MQExceptionex){

//Ifanerrorhasoccurredintheabovetrytoidentifywhatwentwrong

//WasitaWebSphereMQerror?

Systemoutprintln(AWebSphereMQerroroccurred:Completioncode+pletionCode+

Reasoncode+exreasonCode);

}catch(IOExceptionex){

//WasitaJavabufferspaceerror?

Systemoutprintln(Anerroroccurredwhilstwritingtothemessagebuffer:+ex);

}catch(Exceptionex){

exprintStackTrace();

}

}

}

运行程序后请在B机器的本地队列LQ_中检查是否有消息存在如果有说明测试成功

读者可以自行编写把消息从对方的本地队列读取出来的程序

如果读者对以上的内容有任何疑问可以和我联系

版权所有严禁转载

参考资料

《WebSphereMQSystemAdministrationGuide》Thirdedition(May)SC

《WebSphereMQUsingJava》Thirdedition(January)SC

附件MQTestjava(K)               

上一篇:实现Web页面上的右键快捷菜单

下一篇:HTML长文本截取含有HTML代码同样适用的两种方法