jms有兩種意思,當(dāng)作為Java消息服務(wù)應(yīng)用程序接口時(shí),是Java Message Service的縮寫;當(dāng)作為網(wǎng)絡(luò)用語(yǔ)時(shí),是姐妹們的中英文混合縮寫。其中jm是“姐妹”的拼音首字母縮寫,加s表示復(fù)數(shù),合起來即指姐妹們。
一、jms(Java Message Service)簡(jiǎn)介
含義介紹:JMS即Java消息服務(wù)應(yīng)用程序接口,全稱Java Message Service。它是一個(gè)Java平臺(tái)中關(guān)于面向消息中間件的API,用于在兩個(gè)應(yīng)用程序之間,或分布式系統(tǒng)中發(fā)送消息,進(jìn)行異步通信。Java消息服務(wù)是一個(gè)與具體平臺(tái)無關(guān)的API,絕大多數(shù)MOM提供商都對(duì)JMS提供支持。其中JMS對(duì)象模型包含如下幾個(gè)要素:
1、連接工廠。連接工廠(ConnectionFactory)是由管理員創(chuàng)建,并綁定到JNDI樹中。客戶端使用JNDI查找連接工廠,然后利用連接工廠創(chuàng)建一個(gè)JMS連接。
2、JMS連接。JMS連接(Connection)表示JMS客戶端和服務(wù)器端之間的一個(gè)活動(dòng)的連接,是由客戶端通過調(diào)用連接工廠的方法建立的。
3、JMS會(huì)話。JMS會(huì)話(Session)表示JMS客戶與JMS服務(wù)器之間的會(huì)話狀態(tài)。JMS會(huì)話建立在JMS連接上,表示客戶與服務(wù)器之間的一個(gè)會(huì)話線程。
4、JMS目的。JMS目的(Destination),又稱為消息隊(duì)列,是實(shí)際的消息源。
5、JMS生產(chǎn)者和消費(fèi)者。生產(chǎn)者(Message Producer)和消費(fèi)者(Message Consumer)對(duì)象由Session對(duì)象創(chuàng)建,用于發(fā)送和接收消息。
6、JMS消息通常有兩種類型,分別為點(diǎn)對(duì)點(diǎn)和發(fā)布/訂閱。
傳遞方式:JMS有兩種傳遞消息的方式。標(biāo)記為NON_PERSISTENT的消息最多投遞一次,而標(biāo)記為PERSISTENT的消息將使用暫存后再轉(zhuǎn)送的機(jī)理投遞。如果一個(gè)JMS服務(wù)離線,那么持久性消息不會(huì)丟失但是得等到這個(gè)服務(wù)恢復(fù)聯(lián)機(jī)時(shí)才會(huì)被傳遞。所以默認(rèn)的消息傳遞方式是非持久性的。即使使用非持久性消息可能降低內(nèi)務(wù)和需要的存儲(chǔ)器,并且這種傳遞方式只有當(dāng)你不需要接收所有的消息時(shí)才使用。
JMS的正文格式:Jms定義了五種不同的消息正文格式,以及調(diào)用的消息類型,允許你發(fā)送并接收以一些不同形式的數(shù)據(jù),提供現(xiàn)有消息格式的一些級(jí)別的兼容性。
1、StreamMessage —Java原始值的數(shù)據(jù)流;
2、MapMessage—一套名稱-值對(duì);
3、TextMessage—一個(gè)字符串對(duì)象;
4、ObjectMessage—一個(gè)序列化的 Java對(duì)象;
5、BytesMessage—一個(gè)未解釋字節(jié)的數(shù)據(jù)流。
二、jms作為網(wǎng)絡(luò)用語(yǔ)
當(dāng)jms作為網(wǎng)絡(luò)用語(yǔ)時(shí),是姐妹們的中英文混合縮寫,即jm是“姐妹”的拼音首字母縮寫,加s表示復(fù)數(shù),合起來即指姐妹們。