2

OpenEJB と統合テストに関して奇妙な問題が発生しています。Open EJB 4.5.1、JUnit 4.10、および Maven3 と Surefire プラグイン 2.13 を使用しています。テストから OpenEJB を開始します。

InitialContext ic = new InitialContext();

これは (どうやら) 正常に動作し、EJB ( CentrosBeanFacade ) を正しくデプロイしますが、その後再度バインドを試みるため、サーバーが失敗します。

ログの興味深い部分は次のとおりです。

初めて --> [OK] :

DEBUG - bound ejb at name:       openejb/Deployment/CentrosBeanFacade/com.csc.health.xhis.arqtest.api.CentrosLogica, ref: org.apache.openejb.core.ivm.naming.BusinessRemoteReference@6506fe2b
DEBUG - bound ejb at name: openejb/Deployment/CentrosBeanFacade/com.csc.health.xhis.arqtest.api.CentrosLogica!Remote, ref: org.apache.openejb.core.ivm.naming.BusinessRemoteReference@6506fe2b
INFO - Jndi(name=CentrosBeanFacade) --> Ejb(deployment-id=CentrosBeanFacade)
INFO - Jndi(name=global/classpath.ear/test-ejb/CentrosBeanFacade!com.csc.health.xhis.arqtest.api.CentrosLogica) --> Ejb(deployment-id=CentrosBeanFacade)
INFO - Jndi(name=global/classpath.ear/test-ejb/CentrosBeanFacade) --> Ejb(deployment-id=CentrosBeanFacade)

しかし、2 回目の展開を試みます。

DEBUG - failed to bind ejb at name: openejb/Deployment/CentrosBeanFacade/com.csc.health.xhis.arqtest.api.CentrosLogica, ref: org.apache.openejb.core.ivm.naming.BusinessRemoteReference@32f00d9a
ERROR - Jndi name could not be bound; it may be taken by another ejb.  Jndi(name=openejb/Deployment/CentrosBeanFacade/com.csc.health.xhis.arqtest.api.CentrosLogica!Remote)

EJB からの内部 BusinessRemoteReference は 1 回目とは異なるオブジェクトであるため、2 回目のデプロイ試みています。しかし、クラスパスを確認したところ、EJB は 2 回含まれていません。同様の手順を単純な Java クラスから実行すると、失敗します。

手がかりはありますか?

4

0 に答える 0