日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jms mdb_MDB!= JMS,反之亦然

發布時間:2023/12/3 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jms mdb_MDB!= JMS,反之亦然 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jms mdb

基本

  • 消息驅動Bean(又稱為MDB)只是另一個EJB,例如無狀態,有狀態或單例。 使用@MessageDriven批注指定。
  • MDB用于異步消息處理
  • 它們與無狀態EJB 相似 ,因為它們都是由EJB容器池化的
  • 但是,它們與無狀態EJB不同,因為客戶端無法直接訪問 MDB。 只有容器會響應客戶端發送到MDB正在偵聽的端點的消息來調用它們。

MDB的常用模式

  • MDB通常與JMS(Java消息服務API)一起使用
  • MDB配置為使用@ActivationConfigProperty偵聽JMS目標,實現javax.jms.MessageListener接口,并在onMessage方法中提供業務邏輯(消息處理)
  • 組件將消息發送到JMS目標( 端點 )。 這不是一個同步過程(如上所述)。 消息觸發方法立即返回,容器負責調用配置為偵聽該特定JMS目標的MDB

基于JMS的MDB

MDB神話

  • MDB 不屬于JMS規范的一部分, 也不以任何方式與JMS 耦合 –這是一個誤解。
  • MDB是池化的bean,可以以異步方式處理消息,并且可以偵聽任何端點,包括JMS隊列或目的地 (通常可見)。
  • 實際上,從EJB 2.1開始就是這種情況,并且通過JCA(Java連接器體系結構)規范得以實現

什么是JCA?

  • 在較高的層次上,JCA使Java EE服務器可以通過標準SPI與外部系統(例如,舊企業信息源等)進行交互(此處不處理復雜的JCA詳細信息)
  • 可以使用JCA標準接口為特定系統構建資源適配器(RAR文件)
  • JCA為Java EE容器和外部系統之間的雙向通信(入站和出站)提供合同-資源適配器本身需要實現該實現


禮貌:JCA規范文檔

JCA如何實現通用MDB的概念?

  • JCA定義了MDB特定的功能
  • 就像在基于JMS的MDB中一樣,基于JCA的MDB也需要實現一個接口并定義激活屬性(兩者都特定于JCA Resource Adapter實現)
  • 外部系統發送一條消息,資源適配器通過其入站JCA合同的實現接受該消息,并將該消息中繼到內部端點(這又是特定于JCA適配器實現的)
  • 注冊到此端點的MDB會在接收到的消息上執行業務邏輯

基于JCA的MDB

最終結果

外部系統使用標準接口(JCA)將消息發送到Java EE容器,而JCA實現則負責將其傳遞到適當的端點,該端點進一步將其傳遞給已注冊的MDB

需要注意的是,由于EJB規范供應商必須支持基于JCA的MDB,因此它在Java EE服務器之間是完全可移植的

進一步閱讀

  • JCA規范
  • JMS規范
  • EJB規范

翻譯自: https://www.javacodegeeks.com/2015/01/mdb-jms-and-vice-versa.html

jms mdb

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的jms mdb_MDB!= JMS,反之亦然的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。