分享
 
 
 

基于WebSphere MQ的收发消息程序

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

摘 要:本文从以下几个方面简述了IBM公司的商业通信中间件WebSphere MQ,首先解释了消息、队列和队列治理器的意义,在此基础上通过图示阐述了WebSphere MQ在进行通信时所采用的通信机制,以及此通信机制和通信的各应用程序之间的关系。

接着通过一个实例来说明在使用java编写程序时,如何向队列写入消息。最后简单的介绍了一下MQ的优点及其发展前景。

要害词:通信中间件,队列,队列治理器,MQ

WebSphere MQ(以下简称MQ)是IBM公司享有盛誉的商业通信中间件。它被世界范围的许多大型企业广泛采用。它提供一个具有工业标准、安全、可靠的消息传输系统。MQ基本由一个消息传输系统和一个应用程序接口组成。应用程序使用MQ的API(消息队列接口MQI)函数和队列治理器(MQ运行时刻的程序)进行通信。队列治理器在工作时,它需要用到对象如队列和通道。同时,队列治理器也是一个对象。图1所示为MQ应用程序在运行时刻的图示。

图1 运行时刻的MQ1

消息是一个信息单元,它由两部分组成:从一个程序发往另外一个程序的应用程序数据以及消息描述符或者消息头。

消息描述符用来标识消息(message ID),同时它还包括一些控制信息,如消息类型,消息过期的时间,消息优先级等等。

一条消息的最大长度为100MB,默认的最大消息长度为4MB。消息的最大长度依靠于MQ的版本。MQ第五版支持消息的最大长度为100MB。

队列是一个安全的存储消息的地方,消息的存储一般是有顺序的。因为消息存放在队列中,所以应用程序可以以不同的速度、在不同的时间、不同的地点相互独立的运行。

消息队列通信是应用程序之间进行通信的一种方式。应用程序在没有专有连接或者物理连接的情况下,能够通过向队列写入或读出消息进行通信,也即程序之间不是通过互相调用,而是通过向队列发送数据来进行通信。在这种通信方式下,应用程序不需要具有并发性。对于异步的消息通信,程序发送方不需要专门等待已发消息的回复,而是可以处理下一个事件。与之相对的是,同步消息通信在处理下一个事件之前必须等待已发消息的回复。对于用户来说,底层的协议是透明的。用户只需要考虑会话的程序或数据入口。

MQ应用于客户机/服务器模式或者分布式系统。应用程序可以工作在一个工作站上,也可以运行在不同平台的不同机器上。应用程序具有很好的移植性,能够轻松的从一个系统或者平台转移到另一个系统或者平台。程序的编写支持多种语言,包括Java。同样的,队列也适合许多不同的平台。

因为MQ通过队列进行通信,所以它可以被看成是使用间接的程序--程序方式通信。程序员可以不指定接收消息的目标程序的名称,但是可以指定接收消息的队列的名称,每一个队列和一个程序相联系,一个程序可以有一个或者多个接收队列,而且可以有多个输出队列。输出队列包含着很多信息,这些信息可以是用来供服务器处理的,也可以是返还给发送消息的客户端的回复信息。

使用MQ进行通信时程序员不必担心目标程序是否可用或是否繁忙,甚至不用考虑目标机器是否正常运行或者是否连接上了。程序员发送消息给目标队列,而目标队列是和目标程序相联系的,目标程序可能目前不可用。不用担心,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- 王朝網路 版權所有