国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

基于WebSphere MQ的收發(fā)消息程序

2019-11-17 06:12:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

摘 要:本文從以下幾個(gè)方面簡(jiǎn)述了IBM公司的商業(yè)通信中間件WebSphere MQ,首先解釋了消息、隊(duì)列和隊(duì)列治理器的意義,在此基礎(chǔ)上通過(guò)圖示闡述了WebSphere MQ在進(jìn)行通信時(shí)所采用的通信機(jī)制,以及此通信機(jī)制和通信的各應(yīng)用程序之間的關(guān)系。

接著通過(guò)一個(gè)實(shí)例來(lái)說(shuō)明在使用java編寫程序時(shí),如何向隊(duì)列寫入消息。最后簡(jiǎn)單的介紹了一下MQ的優(yōu)點(diǎn)及其發(fā)展前景。

要害詞:通信中間件,隊(duì)列,隊(duì)列治理器,MQ

WebSphere MQ(以下簡(jiǎn)稱MQ)是IBM公司享有盛譽(yù)的商業(yè)通信中間件。它被世界范圍的許多大型企業(yè)廣泛采用。它提供一個(gè)具有工業(yè)標(biāo)準(zhǔn)、安全、可靠的消息傳輸系統(tǒng)。MQ基本由一個(gè)消息傳輸系統(tǒng)和一個(gè)應(yīng)用程序接口組成。應(yīng)用程序使用MQ的API(消息隊(duì)列接口MQI)函數(shù)和隊(duì)列治理器(MQ運(yùn)行時(shí)刻的程序)進(jìn)行通信。隊(duì)列治理器在工作時(shí),它需要用到對(duì)象如隊(duì)列和通道。同時(shí),隊(duì)列治理器也是一個(gè)對(duì)象。圖1所示為MQ應(yīng)用程序在運(yùn)行時(shí)刻的圖示。

基于WebSphere MQ的收發(fā)消息程序

圖1 運(yùn)行時(shí)刻的MQ1

消息是一個(gè)信息單元,它由兩部分組成:從一個(gè)程序發(fā)往另外一個(gè)程序的應(yīng)用程序數(shù)據(jù)以及消息描述符或者消息頭。

消息描述符用來(lái)標(biāo)識(shí)消息(message ID),同時(shí)它還包括一些控制信息,如消息類型,消息過(guò)期的時(shí)間,消息優(yōu)先級(jí)等等。

一條消息的最大長(zhǎng)度為100MB,默認(rèn)的最大消息長(zhǎng)度為4MB。消息的最大長(zhǎng)度依靠于MQ的版本。MQ第五版支持消息的最大長(zhǎng)度為100MB。

隊(duì)列是一個(gè)安全的存儲(chǔ)消息的地方,消息的存儲(chǔ)一般是有順序的。因?yàn)橄⒋娣旁陉?duì)列中,所以應(yīng)用程序可以以不同的速度、在不同的時(shí)間、不同的地點(diǎn)相互獨(dú)立的運(yùn)行。

消息隊(duì)列通信是應(yīng)用程序之間進(jìn)行通信的一種方式。應(yīng)用程序在沒(méi)有專有連接或者物理連接的情況下,能夠通過(guò)向隊(duì)列寫入或讀出消息進(jìn)行通信,也即程序之間不是通過(guò)互相調(diào)用,而是通過(guò)向隊(duì)列發(fā)送數(shù)據(jù)來(lái)進(jìn)行通信。在這種通信方式下,應(yīng)用程序不需要具有并發(fā)性。對(duì)于異步的消息通信,程序發(fā)送方不需要專門等待已發(fā)消息的回復(fù),而是可以處理下一個(gè)事件。與之相對(duì)的是,同步消息通信在處理下一個(gè)事件之前必須等待已發(fā)消息的回復(fù)。對(duì)于用戶來(lái)說(shuō),底層的協(xié)議是透明的。用戶只需要考慮會(huì)話的程序或數(shù)據(jù)入口。

MQ應(yīng)用于客戶機(jī)/服務(wù)器模式或者分布式系統(tǒng)。應(yīng)用程序可以工作在一個(gè)工作站上,也可以運(yùn)行在不同平臺(tái)的不同機(jī)器上。應(yīng)用程序具有很好的移植性,能夠輕松的從一個(gè)系統(tǒng)或者平臺(tái)轉(zhuǎn)移到另一個(gè)系統(tǒng)或者平臺(tái)。程序的編寫支持多種語(yǔ)言,包括Java。同樣的,隊(duì)列也適合許多不同的平臺(tái)。

因?yàn)镸Q通過(guò)隊(duì)列進(jìn)行通信,所以它可以被看成是使用間接的程序--程序方式通信。程序員可以不指定接收消息的目標(biāo)程序的名稱,但是可以指定接收消息的隊(duì)列的名稱,每一個(gè)隊(duì)列和一個(gè)程序相聯(lián)系,一個(gè)程序可以有一個(gè)或者多個(gè)接收隊(duì)列,而且可以有多個(gè)輸出隊(duì)列。輸出隊(duì)列包含著很多信息,這些信息可以是用來(lái)供服務(wù)器處理的,也可以是返還給發(fā)送消息的客戶端的回復(fù)信息。

使用MQ進(jìn)行通信時(shí)程序員不必?fù)?dān)心目標(biāo)程序是否可用或是否繁忙,甚至不用考慮目標(biāo)機(jī)器是否正常運(yùn)行或者是否連接上了。程序員發(fā)送消息給目標(biāo)隊(duì)列,而目標(biāo)隊(duì)列是和目標(biāo)程序相聯(lián)系的,目標(biāo)程序可能目前不可用。不用擔(dān)心,MQ能夠解決這種情況,假如需要,它甚至能夠啟動(dòng)目標(biāo)程序。

假如目標(biāo)程序不可用,消息會(huì)停留在隊(duì)列中,稍后再被處理。隊(duì)列可以在發(fā)送消息的機(jī)器中,也可以在接收消息的機(jī)器中,這取決于兩臺(tái)機(jī)器的兩個(gè)系統(tǒng)之間是否能夠建立連接。應(yīng)用程序可以整天運(yùn)行,也可以采用激發(fā)機(jī)制,所謂激發(fā),就是指當(dāng)有一條或數(shù)條消息到達(dá)隊(duì)列時(shí)自動(dòng)啟動(dòng)某個(gè)程序。

基于WebSphere MQ的收發(fā)消息程序


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 义马市| 班戈县| 基隆市| 河曲县| 舟曲县| 当阳市| 涿州市| 错那县| 江源县| 遵义县| 东山县| 上饶市| 潮州市| 双桥区| 普格县| 平乐县| 长宁县| 上饶市| 定西市| 宜宾县| 大渡口区| 长岭县| 阳春市| 讷河市| 家居| 顺昌县| 光山县| 黑龙江省| 治多县| 正蓝旗| 射阳县| 临安市| 高邑县| 秦皇岛市| 嘉定区| 天柱县| 化隆| 通山县| 甘孜县| 安图县| 富锦市|