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>
|