Hi all,
I get this error message in the application.log file when I set the exclusive-write-access to "false" in the orion-ejb-jar.xml file.
It's a BMP bean.
 
2000-12-21 10:23 Started
2000-12-21 10:23 Error in bean TestHome: Error in ejbPassivate
com.evermind.server.rmi.OrionRemoteException: Recursive call to non-reentrant bean
 at com.evermind.server.ejb.AbstractEJBObject.startCall(JAX, Compiled Code)
 at com.evermind.server.ejb.EntityEJBObject.removeFromCache(JAX)
 at com.evermind.server.ejb.EntityEJBObject.endTransaction(JAX)
 at com.evermind.server.ApplicationServerTransaction.ao8(JAX, Compiled Code)
 at com.evermind.server.ApplicationServerTransaction.commit(JAX, Compiled Code)
 at com.evermind.server.ApplicationServerTransaction.end(JAX)
 at TestHome_EntityHomeWrapper3.create(TestHome_EntityHomeWrapper3.java, Compiled Code)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.evermind.server.rmi.bf.do(JAX)
 at com.evermind.util.f.run(JAX, Compiled Code)
The bean has an adapter class that implements the ejbPassivate method but even if I override the adapter implementation
in the bean class I still get the error message. I set up a test the only create the bean, calls findByPrimary and then removes it
so there no reentrant calls made.
 
I have tried it on orion 1.4.0 and on 1.4.4 with the same problem. I am running on windows NT, java version 1.2.2
 
Anyone tried doing BMP+exclusive-write-access="false" it with success?
 
Best regards,
Stefan
--------------------------
<orion-ejb-jar>
 <enterprise-beans>
    <entity-deployment location="TestHome" name="TestEJB" exclusive-write-access="false">
      <resource-ref-mapping location="jdbc/DefaultDS" name="jdbc/defaultPool" />
    </entity-deployment>
 </enterprise-beans>
</orion-ejb-jar>
 
 
<ejb-jar>
 <enterprise-beans>
  <entity>
   <ejb-name>TestEJB</ejb-name>
   <home>com.xxx.TestHome</home>
   <remote>com.xxx.Test</remote>
   <ejb-class>com.xxx.TestBean</ejb-class>
   <persistence-type>Bean</persistence-type>
      <prim-key-class>java.lang.Long</prim-key-class>
       <reentrant>False</reentrant>
   <env-entry>
    <env-entry-name>idType</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>TestId</env-entry-value>
   </env-entry>
      <env-entry>
       <env-entry-name>logSource</env-entry-name>
       <env-entry-type>java.lang.String</env-entry-type>
       <env-entry-value>TestEJB</env-entry-value>
      </env-entry>
   <resource-ref>
    <res-ref-name>jdbc/defaultPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
   </resource-ref>
  </entity>
 </enterprise-beans>
 
 <assembly-descriptor>
  <container-transaction>
   <method>
    <ejb-name>TestEJB</ejb-name>
    <method-name>*</method-name>
   </method>
   <trans-attribute>Required</trans-attribute>
  </container-transaction>
</ejb-jar>
 
 
 
 

Reply via email to