Lai*_*son 26 java jca java-ee java-ee-6
我以前写了一个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 将引导资源适配器。
| 归档时间: |
|
| 查看次数: |
3090 次 |
| 最近记录: |