Guice注入プロジェクトをglassfish上で実行するJava EEプロジェクトに変換しようとしています。EJBへの注入
私は、@Remote
と注釈されたHelloというインターフェースを定義するlibプロジェクトを持っています。次に、beanがあるHelloBean
と、@Stateless
と注釈されたimplプロジェクトと、パラメータと@Inject
という単一のコンストラクタがあります。
は、その後、私はlibに依存し、それが@EJB
でアノテートメンバーとしてWebサービスを作成するためのインタフェース、HelloService
、@WebService
で注釈を付け、そしてHello
だプロジェクトだっいます。
これは機能していないようです。 Beanには引数なしのコンストラクタが必要なので、私はHelloBean
をBeanとして作成し、HelloImpl
をPojoとして作成し、引数を持つ単一の@Inject
コンストラクタを作成します。私は、とHelloImpl
をに@Inject
,@Resource
と@EJB
の両方に注射しようとしました。いずれも動作しないようです。
Hello
またはHelloImpl
をHelloBean
に設定すると、NPEが得られます。 @Resource
Hello
またはHelloImpl
の場合、Lookup failed for delegate
となります。 I @EJB
HelloImpl
の場合、同じエラーが発生します。 @EJB
Hello
と私は(明らかに)stackoverflowsを取得します。
コンストラクタインジェクションを使用したいのは、クラスを作成するより正しい方法だと感じているからです。しかし、CDIとEJBをどのように組み合わせることが可能かはわかりません。
@Inject
コンストラクタを使用してPojoをBeanに取得するにはどうすればよいですか?または私の計画に根本的に欠陥がありますか?
[Glassfish 4.1はear/ejb/webモジュールを使用しているときRestFulサービスを実行できません](http://stackoverflow.com/questions/25879898/glassfish-4-1-cant-run-restful-service) -when-using-ear-ejb-web-module) –