0

以下のアクションは RAD 内からのものです

myEar .ear とmyXEar .earの 2 つの ear プロジェクトがあります。

myEar.earは、myXEar.ear の一部である ejb クライアント モジュールに依存します。

最初にサーバーを起動し、次に myXEar.ear をサーバーに追加すると、問題なく動作します

2 番目に、 myEar.ear を追加しますが、ejbs をメッセージでバインドしようとすると壊れます。

[10/15/12 10:46:33:915 CEST] 0000008f EJBContainerI E   WSVR0039E: Unable to start EJB jar, ManageInfoHeaderFacadeBean: The com.volvo.myEarx.facade.b.ManageInfoHeaderFacade interface of the ManageInfoHeaderFacadeBean bean in the myEarXFacadeEJB-5.2.27_M2ECLIPSE_UPGRADE-SNAPSHOT-client.jar module of the myEarEar application cannot be bound to the ejb/ManageInfoHeaderFacade name location. The com.volvo.myEarx.facade.b.ManageInfoHeaderFacade interface of the ManageInfoHeaderFacadeBean bean in the myEarXFacadeEJB-5.2.27_M2ECLIPSE_UPGRADE-SNAPSHOT.jar module of the myEarXEar application has already been bound to the ejb/ManageInfoHeaderFacade name location.

EJB は myEarX.ear の起動時にすでに登録されているため、同じ ejb モジュールを参照するこの 2 番目の earファイルが「起動」しようとすると、問題が発生します。

RAD 内から機能しないのはなぜですか? webconsoleからはすべて正常に動作しますが、これを RAD 内から動作させる必要があります。

org.eclipse.wst.common を見てきました。コンポーネントファイルとそうでないもの..しかし、それを理解できませんでした。

ありがとう!

4

1 に答える 1

1

2 つの EAR プロジェクトがあり、両方に同じ EJB モジュールが含まれています。EJB モジュールには、 にバインドされた Bean がありejb/ManageInfoHeaderFacadeます。2 つの EAR モジュールをサーバーにデプロイすると、JNDI の名前が競合するため、エラーが発生します。

Web 管理コンソールを介して問題なく動作するかどうかは非常に疑わしい. Web 管理コンソールを使用してデプロイする場合、手動で JNDI 名を Bean に割り当てるか、Bean の JNDI 名のプレフィックスを選択することで機能させるのではないかと思います。このように、各 Bean には独自の個別の JNDI 名があります。

RAD では、これを行う方法はありません (少なくとも RAD 8.0 ではそうではありません)。

于 2012-10-15T19:20:08.053 に答える