過了個春節(jié),回到公司的成小胖變成了成大胖。但是你們千萬別以為他那個大肚子里面裝的都是肥肉,里面的墨水也多了不少嘞,畢竟成小胖利用春節(jié)的半個月時間專心學(xué)習(xí)并研究了 ActiveMQ,嘿嘿……
這不,為了檢驗下自己的學(xué)習(xí)成果,上班的第一天成小胖就去找架構(gòu)師老王交流 ActiveMQ 相關(guān)的知識,還順便向老王討了個紅包,可把成小胖給高興壞了。
來,根據(jù)你的了解說下 ActiveMQ 是什么?!?/p>

“這個簡單,ActiveMQ 是一個 MOM,具體來說是一個實現(xiàn)了 JMS 規(guī)范的系統(tǒng)間遠(yuǎn)程通信的消息代理。它……”

等等,先解釋下什么是 MOM?!?/p>

“好。MOM 就是面向消息中間件(Message-oriented middleware),是用于以分布式應(yīng)用或系統(tǒng)中的異步、松耦合、可靠、可擴(kuò)展和安全通信的一類軟件。MOM 的總體思想是它作為消息發(fā)送器和消息接收器之間的消息中介,這種中介提供了一個全新水平的松耦合?!?/span>

JMS呢?

成小胖是個追求極致的人,為了解釋得更通俗易懂,索性搬來一塊白板邊畫邊說。

“JMS 叫做 Java 消息服務(wù)(Java Message Service),是 Java 平臺上有關(guān)面向 MOM 的技術(shù)規(guī)范,旨在通過提供標(biāo)準(zhǔn)的產(chǎn)生、發(fā)送、接收和處理消息的 API 簡化企業(yè)應(yīng)用的開發(fā),類似于 JDBC 和關(guān)系型數(shù)據(jù)庫通信方式的抽象?!?/span>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)
嗯,很好。下面的這些概念你也需要特別理解下

  • Provider:純 Java 語言編寫的 JMS 接口實現(xiàn)(比如 ActiveMQ 就是)

  • Domains:消息傳遞方式,包括點對點(P2P)、發(fā)布/訂閱(Pub/Sub)兩種

  • Connection factory:客戶端使用連接工廠來創(chuàng)建與 JMS provider 的連接

  • Destination:消息被尋址、發(fā)送以及接收的對象

你來說說這其中 P2P 和 Pub/Sub 的區(qū)別吧”,老王給成小胖拋出了一個問題。

成小胖可不是吃素的,畢竟要是吃素的話他也吃不到這么胖……這些基本概念對他來說都是小事一樁:

P2P (點對點)消息域使用 queue 作