0

私は現在Javaマルチモジュールプロジェクトに取り組んでおり、DIを介した結合を減らしたいと考えています。最小限の例として、2つのモジュールがあります。モジュールAは、Guiceを介してすべてのInjectを実行するクライアントサイドです。モジュールAは、モジュールBのクラスを呼び出します。これらのクラスは主にEJBであり、@EJBアノテーションを介して自身を挿入します。モジュールAがモジュールBIのクラスを呼び出せるようにするには、JNDIルックアップを使用します。私は今、JNDIを取り除き、モジュールBのクラスをguiceを介して注入しようとしました。そうすると、@EJBは機能しなくなります。guiceを介してこれを行うための解決策はありますか?

4

1 に答える 1

1

あなたがすることは可能ですが、コンソールからEJBにアクセスするテストシナリオのみです。実際のアプリのクライアント コードは、Bean に直接アクセスしないでください。また、カスタム注入を記述して EJB リソースを注入することもできますが、Bean は EJB コンテナー (エンティティー、リソース、サービス呼び出し、インターセプター、トランザクション) の外部では異なる動作をします。一般的に言えば、製品コードに guice と ejb インジェクションを混在させないでください。

于 2012-08-01T10:42:10.857 に答える