J2EE技术(三)——JMS
JMS(Java Message Service)即java消息服務,提供了一組標準的java API,用于企業級的消息處理。通過JMS可以在java程序之間發送和接受消息以達到交換數據的目的。
一個JMS應用由以下幾部分組成:
1、?????? 消息發送者(消息生產者):消息發送者是指消息的創建者和發送者,是消息的發源地。
2、?????? JMS提供者:是指實現JMS API接口的消息系統,是消息的中轉站。JMS定義了Java中訪問消息中間件的接口,但JMS只是接口,并沒有給予實現,實現JMS接口的消息中間件稱為JMS提供者(JMS Provider)。WebLogic Server內嵌了消息中間件的功能,所以WebLogic Server就充當了JMS提供者的角色。
3、?????? 消息接受者(消息消費者):消息接受者是指接受消息的應用程序,是消息的最終的目的地。
4、?????? 管理對象:管理對象是預定義的JMS對象,客戶端使用這些預定義的對象進行通信,例如JMS連接工廠。
二、JMS通信機制
1、點到點通信(PTP)模式
JMS把每一個消息傳遞給一個消息消費者,并只有唯一的一個,即一個消息生產者對應一個消息消費者。
2、發布/訂閱(Publish/Subscribe,Pub/Sub)模式
一個消息生產者對應多個消息消費者。
?
可以在一個應用中同時使用這兩種消息傳遞方式。
三、JMS概念的一些簡潔定義
連接工廠(ConnectionFactory):客戶端用來創建連接的管理對象。
連接(Connection):代表一個與JMS提供者的活動連接。
目的(Destination):標識消息的接收方式。分為隊列(Queue)和主題(Topic)兩種。
會話(Session):接收和發送消息的會話線程。
消息生產者(MessageProducer):會話使用它把消息發送到目的地。
消息消費者(MessageConsumer):會話使用它從目的地接受消息生產者發送的消息。
四、JMS消息發送及接收的過程:
1、發送消息過程:
(1)、使用JNDI查詢管理對象ConnectionFactory和Destination。
(2)、使用管理對象ConnectionFactory建立連接Connection。
(3)、使用連接Connection建立會話Session。
(4)、使用會話Session和管理對象Destination創建消息生產者MessageProducer。
(5)、使用消息生產者MessageProducer發送消息。
2、接受消息的客戶端使用JMS的過程:
(1)、使用JNDI查詢管理對象ConnectionFactory和Destination。
(2)、使用管理對象ConnectionFactory建立連接Connection。
(3)、使用連接Connection建立會話Session。
(4)、使用會話Session和管理對象Destination創建消息消費者MessageConsumer。
(5)、使用消息消費者MessageConsumer接收消息。
五、JMS消息類型
(1)、StreamMessage:消息由串行化的Java對象組成,必須按照設置時的順序讀取對象。
(2)、MapMessage:消息由名稱/值對組成,其中名稱為字符串類型,值為Java數據類型。可以使用列舉順序讀取該消息的值,也可以通過名稱無序地獲取值。
(3)、TextMessage:消息的主體為字符串(),這是最常用的消息類型。
(4)、ObjectMessage:消息的主體為串行化的Java對象,可以是自己定義的串行化的Java對象。
(5)、BytesMessage:消息的主體是二進制數據。
Weblogic.jms.extensions.XMLMessage 是WebLogic實現的JMS提供者提供的擴展的消息類型,提供更便利的操縱XML內容的方式。
?
?
?
轉載于:https://www.cnblogs.com/CharmingDang/archive/2011/12/20/9663968.html
總結
以上是生活随笔為你收集整理的J2EE技术(三)——JMS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Setup SQL Server 200
- 下一篇: 基于信息论的特征选择算法综述