![](/img/trans.png)
[英]How to manage the life cycle of JCA 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.