国产色诱美女免费视频|欧美精彩狠狠色丁香婷婷|91黑人|日本黄色小视频|欧美一级黄色视频在这里免费观看

IT培訓-高端面授IT培訓機構
云和教育:云和數據集團高端IT職業教育品牌
  • 國家級
    全民數字素養與技能培訓基地
  • 河南省
    第一批產教融合型企業建設培育單位
  • 鄭州市
    數字技能人才(碼農)培養評價聯盟

Java:消息中間件之activeMQ詳解

  • 發布時間:
    2020-08-05
  • 版權所有:
    云和教育
  • 分享:

Activemq是什么?ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個完全支持JMS1.1和J2EE 1.4規范的 JMS Provider實現,盡管JMS規范出臺已經是很久的事情了,但是JMS在當今的J2EE應用中間仍然扮演著特殊的地位。

主要特點:

  • 1、多種語言和協議編寫客戶端。語言: Java, C, C++, C#, Ruby, Perl, Python, PHP。應用協議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP
  • 2、完全支持JMS1.1和J2EE 1.4規范 (持久化,XA消息,事務)
  • 3、對Spring的支持,ActiveMQ可以很容易內嵌到使用Spring的系統里面去,而且也支持Spring2.0的特性
  • 4、通過了常見J2EE服務器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中通過JCA 1.5 resource adaptors的配置,可以讓ActiveMQ可以自動的部署到任何兼容J2EE 1.4 商業服務器上
  • 5、支持多種傳送協議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA
  • 6、支持通過JDBC和journal提供高速的消息持久化
  • 7、從設計上保證了高性能的集群,客戶端-服務器,點對點
  • 8、支持Ajax
  • 9、支持與Axis的整合
  • 10、可以很容易得調用內嵌JMS provider,進行測試

 

ActiveMQ消息傳遞的兩種類型:

一種是點對點的,即一個生產者和一個消費者一一對應;

另一種是發布/訂閱模式,即一個生產者產生消息并進行發送后,可以由多個消費者進行接收。

JMS定義了五種不同的消息正文格式,以及調用的消息類型,允許你發送并接收以一些不同形式的數據,提供現有消息格式的一些級別的兼容性。

  •   1、 StreamMessage — Java原始值的數據流
  •   2、 MapMessage–一套名稱-值對
  •   3、TextMessage–一個字符串對象
  •   4、ObjectMessage–一個序列化的 Java對象
  •   5、 BytesMessage–一個字節的數據流

    ActiveMQ的使用方法

    點對點:

發布/訂閱:

在點對點或隊列模型下,一個生產者向一個特定的隊列發布消息,一個消費者從該隊列中讀取消息。這里,生產者知道消費者的隊列,并直接將消息發送到消費者的隊列。這種模式被概括為:只有一個消費者將獲得消息。生產者不需要在接收者消費該消息期間處于運行狀態,接收者也同樣不需要在消息發送時處于運行狀態。每一個成功處理的消息都由接收者簽收。

發布者/訂閱者模型支持向一個特定的消息主題發布消息。0或多個訂閱者可能對接收來自特定消息主題的消息感興趣。在這種模型下,發布者和訂閱者彼此不知道對方。這種模式好比是匿名公告板。這種模式被概括為:多個消費者可以獲得消息.在發布者和訂閱者之間存在時間依賴性。發布者需要建立一個訂閱(subscription),以便客戶能夠購訂閱。訂閱者必須保持持續的活動狀態以接收消息,除非訂閱者建立了持久的訂閱。在那種情況下,在訂閱者未連接時發布的消息將在訂閱者重新連接時重新發布。

 

使用其他的工程來學習:

工程需要添加jar包:

Queue?Producer

生產者:生產消息,發送端。

第一步:創建ConnectionFactory對象,需要指定服務端ip及端口號。

第二步:使用ConnectionFactory對象創建一個Connection對象。

第三步:開啟連接,調用Connection對象的start方法。

第四步:使用Connection對象創建一個Session對象。

第五步:使用Session對象創建一個Destination對象(topic、queue),此處創建一個Queue對象。

第六步:使用Session對象創建一個Producer對象。

第七步:創建一個Message對象,創建一個TextMessage對象。

第八步:使用Producer對象發送消息。

第九步:關閉資源。

Consumer

消費者:接收消息。

第一步:創建一個ConnectionFactory對象。

第二步:從ConnectionFactory對象中獲得一個Connection對象。

第三步:開啟連接。調用Connection對象的start方法。

第四步:使用Connection對象創建一個Session對象。

第五步:使用Session對象創建一個Destination對象。和發送端保持一致queue,并且隊列的名稱一致。

第六步:使用Session對象創建一個Consumer對象。

第七步:接收消息。

第八步:打印消息。

第九步:關閉資源

文/云和數據JAVA技術專家

2020年,云和數據全面升級課程,設有HTML5全棧精英班、全域電商精英班、PHP全棧web高薪班、Unity虛擬現實大師班、UI視覺交互精英班、Java大數據精英班、大數據人工智能專家班、華為認證課程……在云和,你可以學習一門自己感興趣的技術作為踏入IT行業的敲門磚!要知道,興趣和欲望才是驅動一個人學習和進步的原動力。努力,是你走向成功的唯一捷徑。