Java JCA 1.6 ResourceAdapter是否需要ManagedConnectionFactory?
我写了一封信 然而,现在我发现自己不得不写一个,仅仅是为了访问Java JCA 1.6 ResourceAdapter是否需要ManagedConnectionFactory?,java,jakarta-ee,java-ee-6,jca,Java,Jakarta Ee,Java Ee 6,Jca,我写了一封信 然而,现在我发现自己不得不写一个,仅仅是为了访问BootstrapContext及其关联的WorkManager,而没有其他原因 如果我正确阅读了规范——这是我的问题——如果我希望有人能够以符合规范的方式使用我的资源适配器,我仍然需要实现ManagedConnectionFactory,因为似乎只有ManagedConnectionFactory实现销售的用户连接工厂才有资格通过@Resource注释进行注入 继续,再读一遍;我会等的。:-) 在一个完美的世界中,我想编写我的Res
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
GlassFish将引导资源适配器。很久以前,2004年,当我不得不实现ResourceAdapter时,ManagedConnectionFactory是必要的,我几乎不相信此后有任何更改。好的,但上面的问题并没有问是否有可能构建无连接的ResourceAdapter。我从你的回答(和其他人)中看到你可以做到这一点,但如果你希望你的最终用户能够使用它,那么我的问题是:是否有必要提供连接工厂?你所说的使用它是什么意思?你需要让AS激活它。最明显的机制是将ConnectionFactory注入到
@Startup@Stateless
EJB中。现在,您可以确保JCA引导程序在部署时被调用。对于通信来说,如果“消息”的概念不适合您,那么AdministratedObject可能是控制它的另一种机制。