JMS規範
一、基本概念
JAVA 消息服務(Java Message Service)即JMS,是一個java平臺中關於面向消息中間件的API。用於在2個應用程序之間或者分佈式系統中發送消息,進行異步通信。
JMS規範包括以下幾個個對象:
提供者:即實現JMS規範的消息中間件服務器。
客戶端:發送或者接受消息的應用程序。
生產者/發佈者:創建併發送消息的客戶端。
消費者/訂閱者:記得先後並處理消息的客戶端。
消息:程序之間傳遞的數據對象。
消息模式:在客戶端之間傳遞消息的方式,JMS中定義了主題模式和隊列模式2種方式。
二、隊列模式Queue
- 客戶端包括生產者和消費者
- 隊列中的消息只能被一個消費者消費
- 消費者可以隨時消費隊列中的消息
三、主題模式Topic
- 客戶端包括髮布者和訂閱者
- 主題中的消息被所有訂閱者消費
- 消費者不能消費訂閱之前就發送到主題中的消息
四、JMS相關接口
ConnectionFactory : 用於創建連接到消息中間件的連接工廠
Connection:代表了應用程序和消息服務器之間的通信鏈路
Destination:指的是消息發佈和接收的目的地,包括具體的隊列和主題
Session:表示一個單線程的上下文,用於發送和接收消息
MessageConsumer:由會話(Session)創建,用戶接受發送到目標的消息
MessageProducer:由會話(Session)創建,用於發送消息到目標
Message:是在生產者和消費者之間傳遞的消息對象,消息頭,消息屬性,消息體
具體關係如下圖所示: