(七十)java版spring cloud+spring boot+redis多租戶社交電子商務平臺-消息隊列之ActiveMQ

電子商務平臺源碼請加企鵝求求:三伍三六貳四柒二伍九。什麼是ActiveMQ?服務器

ActiveMQ 是Apache出品,最流行的,能力強勁的開源消息總線。ActiveMQ 是一個徹底支持JMS1.1和J2EE 1.4規範的 JMS Provider實現,儘管JMS規範出臺已是好久的事情了,可是JMS在當今的J2EE應用中間仍然扮演着特殊的地位。ide

主要特色:性能

多種語言和協議編寫客戶端。語言: Java, C, C++, C#, Ruby, Perl, Python, PHP。應用協議: OpenWire,Stomp REST,WS Notification,XMPP,AMQP 徹底支持JMS1.1和J2EE 1.4規範 (持久化,XA消息,事務)測試

對Spring的支持,ActiveMQ能夠很容易內嵌到使用Spring的系統裏面去,並且也支持Spring2.0的特性設計

經過了常見J2EE服務器(如 Geronimo,JBoss 4, GlassFish,WebLogic)的測試,其中經過JCA 1.5 resource adaptors的配置,可讓ActiveMQ能夠自動的部署到任何兼容J2EE 1.4 商業服務器上 支持多種傳送協議:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA對象

支持經過JDBC和journal提供高速的消息持久化隊列

從設計上保證了高性能的集羣,客戶端-服務器,點對點事務

支持Ajax字符串

支持與Axis的整合部署

能夠很容易得調用內嵌JMS provider,進行測試

ActiveMQ的消息形式:

對於消息的傳遞有兩種類型:

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

另外一種是發佈/訂閱模式,即一個生產者產生消息並進行發送後,能夠由多個消費者進行接收。

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

  · StreamMessage – Java原始值的數據流

  · MapMessage–一套名稱-值對

  · TextMessage–一個字符串對象

  · ObjectMessage–一個序列化的 Java對象

  · BytesMessage–一個字節的數據流    ActiveMQ消息確認機制

消息只有在被確認以後,才認爲已經被成功消費,而後消息纔會從隊列或主題中刪除。消息的成功消費一般包含三個階段:

(1)、客戶接收消息;(2)、客戶處理消息;(3)、消息被確認;

確認機制前面提過一下,共有四種:

(1)、Session.AUTO_ACKNOWLEDGE;客戶(消費者)成功從receive方法返回時,或者從MessageListener.onMessage方法成功返回時,會話自動確認消息,而後自動刪除消息.

(2)、Session.CLIENT_ACKNOWLEDGE;客戶經過顯式調用消息的acknowledge方法確認消息,。 即在接收端調用message.acknowledge();方法,不然,消息是不會被刪除的.

(3)、Session. DUPS_OK_ACKNOWLEDGE ;不是必須確認,是一種「懶散的」消息確認,消息可能會重複發送,在第二次從新傳送消息時,消息頭的JMSRedelivered會被置爲true標識當前消息已經傳送過一次,客戶端須要進行消息的重複處理控制。

(4)、 Session.SESSION_TRANSACTED;事務提交併確認。

相關文章
相關標籤/搜索