- MOM:企業(yè)消息系統(tǒng)瘫俊,即面向消息的中間件峦失,提供了以松散耦合的靈活方式集成應(yīng)用程序的一種機(jī)制克婶。它們提供了基于存儲和轉(zhuǎn)發(fā)的應(yīng)用程序之間的異步數(shù)據(jù)發(fā)送筒严,即應(yīng)用程序彼此不直接通信丹泉,而是與作為中介的MOM通信。
- Java Message Service:是Java平臺上有關(guān)面向消息中間件的技術(shù)規(guī)范鸭蛙。JMS提供同樣與廠商無關(guān)的訪問的API嘀掸,以訪問消息收發(fā)服務(wù)
Provider/MessageProvider:生產(chǎn)者
Consumer/MessageConsumer:消費(fèi)者
PTP:Point To Point,點(diǎn)對點(diǎn)通信消息模型
Pub/Sub:Publish/Subscribe规惰,發(fā)布訂閱消息模型
Queue:隊(duì)列,目標(biāo)類型之一泉蝌,和PTP結(jié)合
Topic:主題歇万,目標(biāo)類型之一,和Pub/Sub結(jié)合
ConnectionFactory:連接工廠勋陪,JMS用它創(chuàng)建連接
Connnection:JMS Client到JMS Provider的連接
Destination:消息目的地贪磺,由Session創(chuàng)建
Session:會話,由Connection創(chuàng)建诅愚,實(shí)質(zhì)上就是發(fā)送寒锚、接受消息的一個(gè)線程,因此生產(chǎn)者违孝、消費(fèi)者都是Session創(chuàng)建的
activeMQ就是支持jms規(guī)范的一個(gè)server 類似 JDBC(jms)與MySql(activeMQ)的關(guān)系
在沒有JMS之前刹前,程序員開發(fā)過程中,如果需要和MOM進(jìn)行消息發(fā)送或接受的時(shí)候雌桑,需要根據(jù)不同的MOM進(jìn)行不同的編碼喇喉;相同的,有了JMS之后校坑,代碼被規(guī)范拣技。
開源消息總線
消息形式
- 一種是點(diǎn)對點(diǎn)的,即一個(gè)生產(chǎn)者和一個(gè)消費(fèi)者一一對應(yīng)耍目;
- 另一種是發(fā)布/訂閱模式膏斤,即一個(gè)生產(chǎn)者產(chǎn)生消息并進(jìn)行發(fā)送后,可以由多個(gè)消費(fèi)者進(jìn)行接收邪驮。
五種不同的消息正文格式莫辨,以及調(diào)用的消息類型,允許你發(fā)送并接收以一些不同形式的數(shù)據(jù)
StreamMessage -- Java原始值的數(shù)據(jù)流
MapMessage--一套名稱-值對
· TextMessage--一個(gè)字符串對象 #常用#
· ObjectMessage--一個(gè)序列化的 Java對象
· BytesMessage--一個(gè)字節(jié)的數(shù)據(jù)流