廉頗老矣,尚能飯否

          java:從技術到管理

          導航

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          公告

          廉頗老矣,尚能飯否
           
          java博客 : http://www.aygfsteel.com/liudecai
               
          EMAIL:liudecai_zan@126.com 

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章檔案

          相冊

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          最新評論

          Java技術回顧之JMS:JMS概念和模型【轉載】

          一、JMS相關概念

          1、企業消息系統:
          也稱消息中間件(MOM,Message-Oriented Middleware),它允許應用程序之間通過消息的方式進行通信,它具有兩個顯著的特點:
          應用程序之間通過虛擬的通道Destination來交換消息,發送者和接收者不必了解對方,只需知道對方的Destination和消息格式即可通信。
          消息是異步傳送的,每個消息都是一個自包含的單元,發送者無需等待接收者接收和處理消息。

          2、JMS:
          JMS(Java Message Service)是Java程序與企業消息系統進行交互的規范,它提供了一組API用于創建、發送、接收和讀取消息。JMS定義了一組通用的消息概念和功能,旨在降低開發者訪問企業消息系統的難度,同時最大化應用程序的可移植性。

          3、JMS應用的幾種角色:
          JMS客戶端(JMS Clients):利用JMS API訪問消息服務的Java程序。
          非JMS客戶端(Non-JMS Clients):利用特定消息系統的專有API訪問消息服務的程序。
          消息(Messages):JMS應用之間發送和接收的數據實體。
          JMS提供者(JMS Provider):實現JMS規范的企業消息系統。
          管理對象(Administered Objects):企業消息系統中管理員預先配置供客戶端調用的與具體實現無關的JMS對象。

          4、管理對象:
          JMS提供者內部實現各有不同,為了使JMS客戶端不和特定的JMS提供者耦合,JMS通過管理對象來隔離JMS提供者的內部實現。主要有兩種類型的管理對象:
          ConnectionFactory:用于創建到JMS提供者的連接的工廠對象。
          Destination:用來表示發送消息的目的地和接收到的消息的來源的對象。
          消息系統的管理員將管理對象配置到指定的JNDI命名空間上。JMS客戶端通過標準JNDI接口就可以訪問這些管理對象。

          二、JMS消息模型

          1、Pub/Sub模型:
          一對多廣播消息模式。在Pub/Sub模型中,消息發送方稱為Publisher,消息接收方稱為Subscriber。主題Topic充當Publisher和Subscriber之間的中介,對某個Topic感興趣的Subscriber在Topic上注冊,Publisher將消息發送到指定的Topic,Topic上的消息將遞送給所有注冊的Subscriber。
          Pub/Sub模型的主要特點:
          對Topic上的一個消息,注冊的每個Subscriber均得到該消息的一個拷貝。
          Topic上的消息是自動遞送給Subscriber的,不需要Subscriber去主動獲取新消息,這種方式也稱為推模式(Push Model)。
          Publisher和Subscriber可以在運行時刻動態添加和刪除。
          在使用Active MQ ,Tomcat和Spring架構的javaEE項目環境下。問題如下
          1.Topic上的消息有沒有順序
          2.如果有,Topic上的消息是按什么順序自動遞送給Subscriber的
          3.需要設置嗎,如果需要,有哪些設置方式,如何設置

          2、P2P模型:
          一對一消息模式。在P2P模型中,消息發送方稱為Sender,消息接收方稱為Receiver。隊列Queue充當Sender和Receiver之間的中介,Sender將消息發送到指定的Queue,Receiver從指定的Queue上獲取消息。
          P2P模型的主要特點:
          對Queue上的每個消息,即使有多個Receiver請求該消息,有且只有一個Receiver接收到該消息。即每個消息只能被一個Receiver消費,消費之后消息就從Queue上刪除了。
          Receiver需要到Queue上請求消息,而不是自動遞給它的,這種方式也稱為拉模式(Pull Model)。
          Queue上的消息是有順序的,消息按照它發送到Queue上的順序被Receiver取走。

          JMS提供了兩組API來支持上面兩組模型的應用。 



          柳德才
          13691193654
          18942949207
          QQ:422157370
          liudecai_zan@126.com
          湖北-武漢-江夏-廟山

          posted on 2009-04-08 21:35 liudecai_zan@126.com 閱讀(427) 評論(0)  編輯  收藏 所屬分類: 程序人生

          主站蜘蛛池模板: 北宁市| 康保县| 石渠县| 伊宁县| 边坝县| 南和县| 塔河县| 盐池县| 建始县| 孟连| 大冶市| 柯坪县| 娱乐| 汾阳市| 昌图县| 池州市| 南召县| 鄂伦春自治旗| 阳东县| 永善县| 德保县| 绵竹市| 忻城县| 商水县| 广德县| 苏尼特左旗| 麻城市| 新昌县| 呼图壁县| 万源市| 台州市| 家居| 西峡县| 闸北区| 横山县| 上栗县| 象州县| 新巴尔虎右旗| 黔东| 五寨县| 新密市|