日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

消息队列入门(三)JMS标准及实现

發布時間:2023/12/6 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 消息队列入门(三)JMS标准及实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

消息中間件

消息中間件即Message-oriented middleware(MOM),消息中間件利用高效可靠的消息傳遞機制進行平臺無關的數據交流,并基于數據通信來進行分布式系統的集成。
通過提供消息傳遞和消息排隊模型,消息中間件可以在分布式環境下擴展進程間的通信。
消息中間件可以即支持同步方式,又支持異步方式。
異步中間件比同步中間件具有更強的容錯性,在系統故障時可以保證消息的正常傳輸。異步中間件技術又分為兩類:廣播方式和發布/訂閱方式。
消息中間件應用主要有兩個優點:異步和解耦。

JMS規范標準

JMS即Java消息服務(Java Message Service),JMS是一個基于Java平臺面向消息中間件(MOM)的API,用于在兩個應用程序之間,
或分布式系統中發送消息,進行異步通信。
Java消息服務是一個與具體平臺無關的API,絕大多數MOM提供商都對JMS提供支持。
JMS是類似于JDBC(Java Database Connectivity),并不局限于某個具體消息中間件,
JDBC 是可以用來訪問許多不同關系數據庫的 API,
而 JMS 則提供同樣與中間件無關的訪問方法,以訪問消息收發服務。

>>JMS對象模型

ConnectionFactory:
連接工廠,JMS 用它創建連接Connection,一般設為單例模式,
一旦創建,就一直運行在應用容器內,客戶端使用JNDI查找連接工廠,然后利用連接工廠創建一個JMS連接。

Connection:
JMS連接表示JMS客戶端和服務器端之間的一個活動的連接,是由客戶端通過調用連接工廠的方法建立的。

Session:
JMS會話表示JMS客戶與JMS服務器之間的會話狀態。JMS會話建立在JMS連接上,表示客戶與服務器之間的一個會話線程。

Destination:
消息的目的,包括隊列(PTP),主題(Pub/Sub)。

Message Producer和Message Consumer:
生產者和消費者對象由Session對象創建,用于發送和接收消息。

Message:
JMS 消息由以下幾部分組成:消息頭,屬性,消息體。
消息頭(header):JMS消息頭包含了許多字段,它們是消息發送后由JMS提供者或消息發送者產生,用來表示消息、設置優先權和失效時間等等,并且為消息確定路由Routing。
屬性(property):由消息發送者產生,用來添加刪除消息頭以外的附加信息。
消息體(body):由消息發送者產生,JMS中定義了5種消息體:ByteMessage、MapMessage、ObjectMessage、StreamMessage和TextMessage。

兩種消息傳遞模型

(1)點對點模型(Point-to-Point)
點對點模型用于消息生產者和消息消費者之間點到點的通信。消息生產者將消息發動到由某個名字標識的特定消費者。這個名字實際上對應于消息服務中的一個隊列(Queue),在消息傳動給消費者之前它被存儲在這個隊列中。隊列可以是持久的,以保證在消息服務出現故障時仍然能夠傳遞消息。

(2)發布-訂閱模型(Publish/Subscribe)
發布-訂閱模型用稱為主題(topic)的內容分層結構代替了PTP模型中的惟一目的地,
發送應用程序發布自己的消息,指出消息描述的是有關分層結構中的一個主題的信息。希望接收這些消息的應用程序訂閱了這個主題。訂閱包含子主題的分層結構中的主題的訂閱者可以接收該主題和其子主題發表的所有消息



本文轉自邴越博客園博客,原文鏈接:http://www.cnblogs.com/binyue/p/4738360.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的消息队列入门(三)JMS标准及实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。