分享
 
 
 

WebSphere MQ程序设计初探

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

IBM的WebSphere MQ产品可以用来方便地实现分布式异构系统之间的消息传递。对于大型的分布式系统,使用MQ进行数据通信是可以说是非常有效的,而且适用于异构环境(如NT和多种UNIX之间通信)。本文主要介绍:MQ的核心组件介绍、MQ环境的搭建以及利用Java对MQ队列治理器的操作的程序设计,希望能起到抛砖引玉的作用。

第一部分、MQ的核心组件介绍

MQ的核心组件包括:队列治理器(QueueManager)、队列(Queue)、通道(Channel)、消息(Message)和集群(Cluster)。

队列治理器(QueueManager)提供队列服务,治理属于该队列治理器的队列和通道等所有MQ对象。

队列(Queue)是用于存储消息(Message)的数据结构,有四种类型:本地队列(LocalQueue)、远程队列(RemoteQueue)、别名队列(AliasQueue)和模型队列(ModelQueue),最常用到的是本地队列和远程队列。

通道(Channel)是提供了从一个队列治理器到其他队列治理器的数据传输路径。通道类型有若干种,其中常用的是发送方通道(SenderChannel)和接收方通道(ReceiverChannel)。

消息(Message)是应用程序之间传递的一系列字节数据,MQ传递的消息有两部分组成:消息描述符(MessageDescriptor)和应用数据(ApplicationData)。默认最大传递的消息大小是4MB,可以根据需要进行设置,最大可到100MB。

集群(Cluster)是分布式网络上的多个队列治理器的集合。(本文不涉及集群的具体内容)

第二部分、MQ环境的搭建

本文搭建的环境以Windows平台为例,涉及其他平台的请读者查阅相关文档。

具体搭建步骤:

1、根据安装向导安装IBM WebSphere MQ v5.3软件,安装路径为:D:\IBM\WebSphere MQ。

2、安装成功后,请使用命令echo %classpath%检查classpath变量中是否已经把D:\IBM\WebSphere MQ\Java\lib下面的jar文件包含进来,如没有包括请进行手工添加,本文要用到的2个要害的是:com.ibm.mq.jar和connector.jar。使用echo %path%检查path变量中是否已经把D:\IBM\WebSphere MQ\bin包含进来,如没有包括请进行手工添加。

3、创建一个配置文本文件,文件名为config.txt,内容如下(请读者到附件下载):

* 更改QM的字符集编码(CCSID)

ALTER QMGR FORCE CCSID(1381)

* 定义本地队列

DEFINE QLOCAL('LQ_SAMPLE') REPLACE +

USAGE(normal) +

DEFPSIST(YES)

4、创建一个批处理文件,文件名为mqsetup.bat,内容如下(请读者到附件下载):

rem 创建缺省队列治理器,拥有100个句柄,使用线性循环日志,容量为 1024 × 4 K/文件,主文件10个,辅文件20个

echo Creating QM_SAMPLE

crtmqm -t 5000 -h 100 -lc -lf 1024 -lp 10 -ls 20 -q QM_SAMPLE

rem 设置cpu个数为1

setmqcap 1

rem 启动队列治理器

echo Starting Queue Manager

strmqm QM_SAMPLE

rem 从配置文件中读入初始化命令

echo Running config

runmqsc QM_SAMPLE < config.txt

rem 停止队列治理器

amqmdain end QM_SAMPLE

rem 将队列治理器设置为自动启动

amqmdain auto QM_SAMPLE

rem 创建队列侦听器,使用1414端口

amqmdain crtlsr QM_SAMPLE -t TCP -p 1414

rem 修改MQ参数,采用AdoptNewMCA方式

amqmdain reg QM_SAMPLE -c add -s Channels -v AdoptNewMCA=ALL

rem 修改MQ参数,采用KeepAlive方式

amqmdain reg QM_SAMPLE -c add -s TCP -v KeepAlive=Yes

rem 重新启动队列治理器

amqmdain start QM_SAMPLE

5、运行mqsetup.bat,检查运行结果输出是否无误,如有错误,请仔细根据上述步骤进行检查并纠错。

6、在命令窗口中,输入dspmq,看是否显示如下结果:

QMNAME(QM_SAMPLE) STATUS(正在运行)

7、在命令窗口中,输入runmqsc回车,进入mq交互操作环境,输入display queue(LQ_SAMPLE),看是否显示如下结果:

AMQ8409: 显示队列细节。

DESCR(WebSphere MQ Default Local Queue)

PROCESS( ) BOQNAME( )

INITQ( ) TRIGDATA( )

CLUSTER( ) CLUSNL( )

QUEUE(LQ_SAMPLE) CRDATE(2006-10-31)

CRTIME(16.17.01) ALTDATE(2006-10-31)

8、输入end退出mq交互操作环境。

自此,NT平台上的最基本的MQ环境搭建完成了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有