訊息驅動Bean(Message Driven Bean)

來源:互聯網
上載者:User

定義:訊息驅動是專門用來處理基於訊息請求的組件。

訊息模型:點對點訊息傳遞和發布/訂閱訊息傳遞

點對點訊息傳遞模型:一條資訊只能傳遞給一個隊列接收方

發布/訂閱訊息傳遞:一條訊息可以由多個接收者接收

詳細解析:首先它是無狀態的Session Bean,用戶端調用MDB時,無需等待,可以立即返回,MDB會非同步處理客戶的請求;MDB必須實現MessageListener介面,當容器守候檢測到一條隊列資訊時,將調用onMessage()方法。

適用範圍:當一個業務執行很長,然後又無需將結果即時反饋客戶時,適合使用MDB;如訂單成功後向客戶發送一條成功簡訊或者一封郵件。

Queue訊息:(PTP訊息傳遞模型)通過註解可以描述訊息驅動的屬性相關資訊:

@MessageDriven(activationConfig =

 {

   @ActivationConfigProperty(propertyName="destinationType",

    propertyValue="javax.jms.Queue"),

   @ActivationConfigProperty(propertyName="destination",

    propertyValue="queue/fashanshop"),

})

詳解:@MessageDriven指明這是一個訊息驅動,@ActivationConfigProperty注釋配置資訊的各種屬性,destinationType指定訊息類型為Queue隊列,destination指定訊息的路徑;一旦隊列到達指定的路徑,則會觸發onMessage方法,訊息將作為參數傳入。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Topic訊息:(Pub/sub訊息傳遞模型)通過註解可以描述訊息驅動的屬性相關資訊:

@MessageDriven(activationConfig =

 {

   @ActivationConfigProperty(propertyName="destinationType",

    propertyValue="javax.jms.Topic"),

   @ActivationConfigProperty(propertyName="destination",

    propertyValue="top/student"),

})

詳解:@MessageDriven指明這是一個訊息驅動,@ActivationConfigProperty注釋配置資訊的各種屬性,destinationType指定訊息類型為Topic隊列,destination指定訊息的路徑;一旦隊列到達指定的路徑,則會觸發onMessage方法,訊息將作為參數傳入。

總結建立JMS的步驟:

  • 尋找JMS提供者(找到工廠)
  • 建立JMS串連(建立串連)
  • 建立JMS Session(建立session對象)
  • 尋找JMS目的地(藉助JNDI尋找JMS目的地)
  • 建立JMS生產者或消費者(藉助session和destination對象,客戶能獲得訊息的生產者和消費者)
  • 發送或接收訊息(構建訊息,藉助生產者發送,消費者接收)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.