JCA 1.6 ResourceAdapter 是否需要 ManagedConnectionFactory?

2024-03-10

我写了一个之前的JCA资源适配器 http://code.google.com/p/drools-jca/.

然而,现在我发现自己不得不写一篇文章来访问BootstrapContext及其相关的WorkManager,并且有效地没有其他原因。

如果我正确地阅读了规范——这就是我的问题——看起来我是否希望有人能够use我的资源适配器以符合规范的方式,我仍然需要实现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 对其进行注释,然后从那里开始就足够了吗?

Yes.

然后我可以使用 @Resource 注释将这样的 POJO 注入到我的 EJB 中吗?

我不认为可以使用 @Resource 注释注入“ResourceAdapter”Java Bean。每当部署/启用资源适配器/启动服务器时,

GlassFish 将引导资源适配器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JCA 1.6 ResourceAdapter 是否需要 ManagedConnectionFactory? 的相关文章

随机推荐