



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Java Message Service在提到 JMS 時,通常會說到一些術(shù)語,解釋如下:1.消息中間件(JMS Provider) : 指提供了對 JMS 協(xié)議的第組件,比如 ActiveMQ就是一個消息中間件,另外比較知名的還有 KFA, Rabbit MQ 等。2.消息模式:分為點對點(Po據(jù)結(jié)構(gòu)分別是隊列(Queue)和to Po,即 P2P)和發(fā)布/訂閱(Pub/Sub),對應(yīng)的數(shù)(Topic)3.消息(Message): 通信內(nèi)容的載體,其結(jié)構(gòu)主要分為消息頭,屬性和消息體,并且根據(jù)結(jié)構(gòu)的不同分為好幾種,后面會詳細(xì)提到。4.消息生產(chǎn)者:產(chǎn)生消息的一方,在 P2P 模式下,指消息發(fā)送者
2、(Sender),在 P/S 模式下指消息發(fā)布者(Publisher)5.消息消費者:接收消息的一方,對應(yīng)于兩種模式分別是消息接收者(Receiver)和消息訂閱者(Subscriber)JMS 基本概念及原理詳解一、基本概念JMS 是 java 的消息服務(wù),JMS 的客戶端之間可以通過JMS 服務(wù)進(jìn)行異步的消消息服務(wù)是一個與具體無關(guān)的 6/,絕大多數(shù) 353 提供商都對 039 提供支持。039 允許應(yīng)用程序組件基于 0GG+創(chuàng)建、發(fā)送、接收和消息。它使分布式通信耦合度更低,消息服務(wù)更加可靠以及異步性。中間件(353)的 6/,用于在兩個應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信。0
3、GG039 即 0GG 消息服務(wù)(0GG 3KYYGMK 9KXOIK)應(yīng)用程序接口,是一個 0GG中關(guān)于面向消息息傳輸。JMS 由以下元素組成。1.JMS 提供者連接面向消息中間件的,JMS 接口的一個實現(xiàn)。提供者可以是 Java的 JMS 實現(xiàn),也可以是非 Java的面向消息中間件的適配器。2.JMS 客戶生產(chǎn)或消費消息的基于 Java 的應(yīng)用程序或?qū)ο蟆?.JMS 生產(chǎn)者創(chuàng)建并發(fā)送消息的 JMS 客戶。4.JMS 消費者接收消息的 JMS 客戶。5.JMS 消息包括可以在 JMS 客戶之間傳遞的數(shù)據(jù)的對象6.JMS 隊列一個容納那些被發(fā)送的等待閱讀的消息的區(qū)域。隊列暗示,這些消息將按照順
4、序發(fā)送。一旦一個消息被閱讀,該消息將被從隊列中移走。7.JMS一種支持發(fā)送消息給多個訂閱者的機(jī)制。3、JMS 消息模型(即點對點和發(fā)布訂閱模型)1、Po-to-Po(P2P)2、Publish/Subscribe(Pub/Sub)二、體系架構(gòu)JMS 應(yīng)用程序接口7.1、ConnectionFactory 接口(連接工廠)創(chuàng)建 Connection 對象的工廠,根據(jù)消息類型的不同,用戶將使用隊列連接工廠,或者連接工廠分,別有 QueueConnectionFactory 和 TopicConnectionFactory 兩種??梢酝ㄟ^ JNDI 來查找 ConnectionFactory 對象。
5、7.2、Destination 接口(目標(biāo))Destination 是一個包裝了消息目標(biāo)標(biāo)識符的被管對象,消息目標(biāo)是指消息發(fā)布和接收的地點,或者是隊列,或者是。是消息生產(chǎn)者的消息發(fā)送目標(biāo)或者說消息消費者的消息來源。對于消息生產(chǎn)者來說,它的 Destination 是某個隊列(Queue)或某個(Topic);對于消息消費者來說,它的 Destination 也是某個隊列或(即消息來源)。所以,Destination 實際上就是兩種類型的對象:Queue、Topic 可以通過 JNDI 來查找 Destination。7.3、Connection 接口(連接)Connection 表示在客戶端和
6、 JMS 系統(tǒng)之間建立的(對 TCP/IP socket 的包裝)。Connection 可以產(chǎn)生一個或多個 Ses。跟 ConnectionFactory 一樣,Connection也有兩種類型:QueueConnection 和 TopicConnection。7.4、SesSes接口(會話)是操作消息的接口。表示一個單線程的上下文,用于發(fā)送和接收消息。由于會話是單線程的,所以消息是連續(xù)的,就是說消息是按照發(fā)送的順序一個一個接收的。可以通過 ses創(chuàng)建生產(chǎn)者、消費者、消息等。Ses提供了事務(wù)的功能。當(dāng)我們需要使用 ses發(fā)送/接收多個消息時,可以將這些發(fā)送/接收動作放到一個事務(wù)中。同樣,也
7、分QueueSes和 TopicSes。7.5、MessageProducer 接口(消息的生產(chǎn)者)消息生產(chǎn)者由 Ses創(chuàng)建,并用于將消息發(fā)送到 Destination。消費者可以同步地(阻塞模式),或異步(非阻塞)接收隊列和類型的消息。同樣,消息生產(chǎn)者分兩種類型:QueueSender 和 TopicPublisher??梢哉{(diào)用消息生產(chǎn)者的方法(send 或 publish 方法)發(fā)送消息。7.6、MessageConsumer 接口(消息消費者)消息消費者由 Ses創(chuàng)建,用于接收被發(fā)送到 Destination 的消息。兩種類型:QueueReceiver 和TopicSubscriber
8、??煞謩e通過 ses的 createReceiver(Queue)或 createSubscriber(Topic)來創(chuàng)建。當(dāng)然,也可以 ses的 creatDurableSubscriber 方法來創(chuàng)建持久化的訂閱者。7.7、Message 接口(消息)是在消費者和生產(chǎn)者之間傳送的對象,也就是說從一個應(yīng)用程序創(chuàng)送到另一個應(yīng)用程序。一個消息有三個主要部分:1、消息頭(必須):包含用于識別和為消息尋找路由的操作設(shè)置。2、一組消息屬性(可選):包含額外的屬性,支持其他提供者和用戶的兼容??梢詣?chuàng)建定制的字段和過濾器(消息選擇器)。3、一個消息體(可選):允許用戶創(chuàng)建五種類型的消息(文本消息,消息,字節(jié)消息,流消息和對象消息)。消息接口非常靈活,并提供了許多方式來定制消息的內(nèi)容。消息接口非常靈
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療設(shè)備付款合同范例
- 與演員合同范本
- 別墅電梯采購合同范本
- 乙方出資建房合同范本
- 出售工地用車合同范本
- 勞務(wù)派遣施工合同范本
- 醫(yī)療營銷合同范本
- 北京園林公司合同范本
- 代理推廣合作合同范本
- 醫(yī)院棉被訂購合同范例
- DB12-T 3034-2023 建筑消防設(shè)施檢測服務(wù)規(guī)范
- 銷售人員崗位職責(zé)培訓(xùn)
- 小學(xué)生日常行為規(guī)范實施方案
- 2024-2025學(xué)年九年級化學(xué)人教版上冊檢測試卷(1-4單元)
- 2024年遼寧省鞍山岫巖滿族自治縣事業(yè)單位招聘(150人)歷年高頻難、易錯點500題模擬試題附帶答案詳解
- DBJ46-070-2024 海南省民用建筑外門窗工程技術(shù)標(biāo)準(zhǔn)
- 金屬冶煉安全生產(chǎn)實務(wù)注冊安全工程師考試(初級)試題與參考答案
- 2024年高職高考語文必背古詩
- 護(hù)理質(zhì)控護(hù)士競聘
- 醫(yī)學(xué)課件炎癥性腸病4
- 2024年4月自考00263外國法制史試題及答案
評論
0/150
提交評論