JMS入門教程(—)

JMS 給java 程序員提供了一種通用的方式來創建、發送、接收和查看企業消息系統消息。

 

JMS 是一個接口和相關語義的集合,那些語義定義了JMS 客戶端如何獲取企業消息產品的功能。

 

由於消息是點對點的,所以JMS 的所有用戶都稱爲客戶端(clients)。JMS應用由定義消息的應用和一系列與他們交互的客戶端組成。

 

這裏描述的消息是由企業應用而不是人來處理的異步請求、報告或事件。他們包含了協同這些應用所必需的信息。他們包含了描述特定業務動作的格式化的數據。應用通過交換消息來跟蹤企業的過程。

 

現存的消息系統

消息系統是點對點的工具。通常情況下,每個客戶端可以發送消息到另一個客戶端,也可以從任何客戶端接收消息。每個客戶端連接到提供創建、發送和接受消息的消息代理。

 

個系統都提供了定位消息的方式。每個系統都提供了創建消息並給他填充數據的途徑。

有些系統可以想多個目的地廣播消息。其他的系統也可以只支持向一個目的地發送消息。

 

某些系統提供了異步接收消息的功能(當消息到達時被轉發到客戶端)。其他的系統可以支持同步接收(客戶端必須請求每個消息)。

 

每個消息系統通常提供多種服務供不同的消息來選擇。重要的問題是系統能保證轉發的長度是多少。它們可能不是一次就能轉發完全的。其他重要的問題是消息是有時效、有優先
級和是否要求響應。

 

JMS 目標

如果JMS 提供了現有消息系統的所有特性,那麼對用戶來講它就太複雜了。在另一個方面,JMS更多是所有消息產品公共特性的交集。重要的是JMS 要包含實現專業企業應用需要的功能。

 

JMS 定義了一系列通用的企業消息概念和工具。它試圖最小化Java語言程序員使用企業消息產品而必須瞭解的概念集。它致力於最大化消息應用的可移植性。

 

JMS提供商

JMS 提供商是一個在消息產品實現JMS 的實體。

理想情況下,JMS 提供商用純Java 來實現消息產品,這樣它就能運行在applet 中,簡化安裝,並且可以架構和OS工作。JMS 的一個重要目標是最小化實現一個提供商所需要的工作。

 

JMS 消息

JMS 定義了一系列消息接口。
客戶端使用由JMS 提供商提供的消息實現。
JMS 的一個主要目標是客戶端使用統一的API 來創建和與獨立於JMS 提供商的消息一起工作。

 

JMS 域

消息產品可以廣義上可以分爲點對點或發佈‐訂閱系統。

點對點(PTP)產品圍繞着消息隊列創建。每個消息被放置在一個特定的隊列中;客戶端從隊列中取出消息。

 

發佈和訂閱(Pub/Sub)客戶端將消息放置到某個內容繼承層次上的節點上。發佈者和訂閱者通常都是匿名的,通常可以動態的發佈或訂閱內容層級。系統關注將來自一個節點的多個發佈者的消息分發到這個節點的多個訂閱者。

 

實現客戶端的最好方式是使用不依賴域的接口。這些接口稱爲“通用接口”是域特有接口的父類。

 

可移植性

最主要的可移植目標是新的只有JMS 的應用可以在同一個消息域內可以跨產品。

 

MS 客戶端跨機器架構和操作系統是期望的可移植性(當時有同一個JMS 提供商時)。

 

儘管設計JMS的目的是讓客戶端可以和現存的在混合語言應用中使用的消息格式一起工作,但是這種客戶端通常是不可移植的(將一個混合語言應用從一個產品移植到另一個產品超出了JMS的範圍)。

 

JMS 不包含什麼

JMS <wbr>教程 <wbr>學習筆記 <wbr>(一).1 <wbr>簡介

 

JMS 的要求是什麼

JMS 點對點功能的提供商不要求提供發佈/訂閱功能,反之亦然。


JMS 也可以用在J2EE 平臺。參加章節1.4 ,“與其他Java API 的關係”來了解當JMS 被集成到那種軟件環境時對JMS的附加要求。

與其他 Java API 的關係

JDBC 軟件

JavaBean 組件

JavaBean 組件可以使用JMS 會話來發送/接收消息。JMS 本身是一個API,它定義的接口
沒有打算直接作爲JavaBean 組件來使用。

EJB 組件模型

Java 事務API(JTA)

Java 事務服務(JTS)

Java 命名和目錄接口API(JNDI)

J2EE 平臺

J2EE 平臺規範(版本1.3)要求將JMS API 作爲J2EE 平臺的一部分。J2EE平臺規範對JMS的實現提出了附加的要求,這些要求超出了JMS規範中描述的要求,包括既要支持點對點域又要支持發佈/訂閱域。

 

JMS 和EJB 組件的集成

JMS1.1 的新特性是什麼?

 

在JMS 的以前版本中,用於點對點和Pub/Sub 域的客戶端編程都是類似的,但使用不同的類層次。在JMS1.1中,現在有一個不依賴域的方式來編寫客戶端應用。這有以下幾個好處:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章