2011-06-22 8 views
0

1つのEJBのメソッドは、別のEJBのWebサービスを呼び出します。同じEARにパッケージ化する必要があるのですか、またはWebサービスプロバイダをWAR(WAR)で個別に展開できますか? 2つのEJBを別々にデプロイする場合、依存関係注入(@WebServiceRefアノテーションによって実現)は機能しますか?J2EE Webサービスプロバイダとコンシューマは、同じEARになければなりませんか?

ありがとうございます!

答えて

0

同じEARにパッケージ化する必要がありますか、またはWebサービスプロバイダを別個に(WAR内に)デプロイできますか?

どのようにEJBをデプロイするかによって異なります。同じEARファイルに、したがって同じコンテナにデプロイする場合は、@WebServiceRef注釈は無意味であり、パフォーマンスには影響しないと考えています。 JAX-WSプロキシを注入する代わりに、他のEJBを注入することもできます。

これらを分離して1つのEJB(Webサービスを提供するEJB)の1つをWARファイルにデプロイする場合は、Java EE 6コンテナで行うことができます。

2つのEJBが別々にデプロイされている場合、依存性注入(@WebServiceRefアノテーションによって実行)が機能しますか?

はい、管理対象環境(これにはアプリケーションクライアントコンテナ、Webコンテナ、およびEJBコンテナを含む)にクライアントをデプロイしている限り、依存関係注入は機能します。クライアントEJBに関する限り、コンテナは実行時にWebサービスのプロキシを提供します。すべての呼び出しはプロキシに委任され、実際のWebサービスに必要なHTTP要求を行い、応答を処理した後に適切なオブジェクトを返します。

関連する問題