簡體   English   中英

JCA 1.6 ResourceAdapter是否需要ManagedConnectionFactory?

[英]Does a JCA 1.6 ResourceAdapter need a ManagedConnectionFactory?

我以前寫了一個JCA資源適配器

但是,現在我發現自己只能編寫一個來訪問BootstrapContext及其相關的WorkManager ,並且沒有其他原因。

如果我正確地閱讀了規范 - 這就是我的問題 - 看起來如果我希望某人能夠以符合規范的方式使用我的資源適配器,我仍然需要實現ManagedConnectionFactory ,因為它看起來像只有通過ManagedConnectionFactory實現銷售的用戶連接工廠才有資格通過@Resource注釋進行注入。

來吧,再看一遍; 我會等。 :-)

在一個完美的世界中,我想編寫我的ResourceAdapter實現,使用@Connector對其進行注釋,指定所有@ConfigProperty位,將其打包在.rar文件中,並完成它。

但是,在我看來,規范有效地強制要求消費者(在我的情況下是無狀態EJB)和資源適配器模塊之間的所有通信都應該通過用戶連接工廠來完成。

例如,第6.10.1節說:

資源適配器必須提供以下接口的實現:

  • javax.resource.spi.ManagedConnectionFactory
  • javax.resource.spi.ManagedConnection
  • javax.resource.spi.ManagedConnectionMetaData

但是第18節 - 關於注釋的部分 - 似乎沒有規定以任何有意義的方式強制執行。

確實如此嗎? 我想它一定是,但我很想聽聽那些組裝了1.6資源適配器的人。

“本節概述了連接管理合同的要求。”

是否合法,只使用JCA 1.6注釋,簡單地定義一個ResourceAdapter實現 - 基本上 - 模塊中沒有別的東西?

是。 這可以。

規范在第19.2節中指出,出站資源適配器(這將是)必須{handwave handwave}使用連接管理,

交易管理和安全管理合同。 在所有三種情況下,我只想表明 - 最好通過省略注釋和/或代碼 - 我不支持任何一個

如果您不需要出站通信功能,則無需定義它們(連接工廠,托管連接工廠等)。

簡單地構建一個實現ResourceAdapter的POJO,用@Connector注釋它,然后從那里開始就足夠了嗎?

是。

我可以使用@Resource注釋將這樣的POJO注入我的EJB嗎?

我不認為可以使用@Resource注釋注入“ResourceAdapter”Java Bean。 每當部署/啟用資源適配器/服務器啟動時,

GlassFish將引導資源適配器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM