Presently for our EJB application, we have REENTRANT as false for the Entity beans (ejb 2.1) and performance test involving higher concurrency pose no problem for JBoss 5 (as well as for weblogic, websphere).
However, for JBoss 4.3, with REENTRANT as false for Entity beans,
following exception occurs for higher concurrency.
TransactionRolledbackLocalException: Reentrant method call detected
Setting the REENTRANT behavior to TRUE solves this problem and there are no "Reentrant method call detected" exception.
Any suggestions or documentation suggesting the pros/cons of setting the
Entity Beans Reentrant behavior to TRUE is appreciated.
Stack trace:
javax.ejb.TransactionRolledbackLocalException: Reentrant method call detected: ProcessInstanceEBBBean 4808
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:262)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
at org.jboss.ejb.EntityContainer.internalInvoke(EntityContainer.java:527)
at org.jboss.ejb.Container.invoke(Container.java:960)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.EntityProxy.invoke(EntityProxy.java:65)