27

以前に JCA リソース アダプタを作成したことがあります。

しかし、今では、BootstrapContextとそれに関連付けられた にアクセスするためだけに 1 つを作成しなければ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 のリソース アダプタをまとめた人たちの意見を聞きたいです。

4

1 に答える 1

3

「このセクションでは、接続管理契約の要件について概説します。」

JCA 1.6 アノテーションのみを使用して、基本的にモジュール内に他に何もない ResourceAdapter 実装を定義することは合法ですか?

はい。これでいいです。

仕様では、セクション 19.2 で、アウトバウンド リソース アダプター (これはそうなる) が接続管理を利用する必要があることを示しています。

トランザクション管理およびセキュリティ管理契約。3つのケースすべてにおいて、できれば注釈やコードを省略して、それらのいずれもサポートしていないことを示したいだけです

アウトバウンド通信機能が必要ない場合は、それらを定義する必要はありません (connection-factory、managed-connection-factory など)。

ResourceAdapter を実装する POJO を構築し、@Connector で注釈を付けて、そこから移動するだけで十分ですか?

はい。

@Resource アノテーションを使用して、そのような POJO を EJB に注入できますか?

@Resource アノテーションを使って "ResourceAdapter" Java Bean をインジェクトでき​​るとは思えません。リソースアダプターがデプロイ/有効化/サーバーが起動されるたびに、

GlassFish はリソース アダプタをブートストラップします。

于 2011-01-21T05:56:19.617 に答える