jms 學習筆記
阿新 • • 發佈:2019-01-05
今天上班一個下午就看了一個jms訊息機制,沒事總結一下今天看的東西吧 !!把我記得的或者自己感覺重要的東西記錄一下把,如果有誰感覺有錯了請給我提下哈!!大家一起學習哈哈!!!準備做一個訊息的demo出來。。。
1:ptp(也就p2p呵呵讓我想到了b2b)給我的感覺就是 一個生產訊息發給另一個人消費,,也就是point to point ,一個生產者生成的訊息先是放在queue中,讓另一個消費者去拿,拿完以後queue訊息佇列裡面就沒有這個訊息了。-------一對一(基於佇列)
2:pub/sub就是一個生產者生產出來資訊後給多給消費者用,用書上的話就是把一個訊息發給Topic,這個主題可以有多個接收者監聽,當一個訊息到達這個主題後所有接收者就可以拿到這個資訊了。-------------------------------------------一對多(基於主題)
感覺第二種方式就是那些網上的蘋果訂閱一樣的呢,說不定他們兩者還真有共同之處呢。一句廢話 我從網上找了幾張圖片可以方便大家理解哈!!!
圖一 訊息傳播模式
圖二 jms中公用,點對點,pub/sub的介面對比 前面我們講了訊息傳遞的模式,後面我們再來看看到底什麼是訊息吧! message:TextMessage(普通文字) 、MapMessage(map型別)、BytesMessage(二進位制資訊)、 StreamMessage(資料流資訊)和ObjectMessage(物件資訊),XMLMessage(xml型別資訊)
上面簡單說明了資訊,下面我將對資訊的產生傳遞過程需要的元件進行說明,同時希望大家對著圖看的話瞭解的更深入:
圖三 jms整個過程的時序圖
感覺第二種方式就是那些網上的蘋果訂閱一樣的呢,說不定他們兩者還真有共同之處呢。一句廢話 我從網上找了幾張圖片可以方便大家理解哈!!!
圖一 訊息傳播模式
圖二 jms中公用,點對點,pub/sub的介面對比 前面我們講了訊息傳遞的模式,後面我們再來看看到底什麼是訊息吧! message:TextMessage(普通文字)
圖三 jms整個過程的時序圖
- connectionFactory 一個工廠 生成connection的工廠類,
- connection 建立一個連線生成Session,
- session 由connection建立一個session ,他又可以川籍訊息生產者,消費者,訊息
- 生產者:MessageProducer
- Destination,訊息的目的地
- 訊息佇列:Queue點對點的訊息佇列 訊息主題:Tipic 釋出訂閱的訊息佇列
-
消費者:MessageConsumer 由Session 物件建立的用來發送訊息的物件
用文字描述上幅圖
1、生產者(producer)開發流程(ProducerTool.java):
1.1建立Connection:
根據url,user和password建立一個jms
Connection。
1.2建立Session:
在connection的基礎上建立一個session,同時設定是否支援事務和ACKNOWLEDGE