This happens when a user doubleclicks on a link in my html pages. I cant syncronize
the calls to the statefull session bean because my application uses clustering.
I tried to avoid this by setting allow-concurrent-calls to true in the weblogic
ejb descriptor file, but i still get the exception.
I get the exception immediately, so a timeout in the transaction can't be th reason.
I use WebLogic Server 6.1 SP4
Anyone got this running with this version ?
A loopback call is when EJB A calls B which then calls back on A. Are
you sure this is not happening?
Can you show me the stack trace from the exception?
-- Rob
tnx for spending some time for my problem.
I talked to my collegues and we are sure it can't be a loopback call. Perhaps
the excerpt from the stack trace gives u some further hints.
I found another thread where a guy talked about the same problem and u proposed
him to open a service call at bea. Can i see the known problems for a weblogic
release anywhere on the bea website ?
Do i have to do anything else than adding <allow-concurrent-calls>true</allow-concurrent-calls>
to the weblogic-ej-jar.xml to activate this ?
tia
The
Stacktrace
---------------------------------------------
27.02.2003 16:13:00 SESSIONCONTROL/ERROR: SessionManagerBean.callSessionBean():
java.rmi.RemoteException: Illegal attempt to
make a reentrant call to a stateful session bean from home: com.netlife.finance.core.bankingsessionbean.BankingSessionHome:
weblogic.ejb20.InternalException: Illegal attempt to make a reentrant call to
a stateful session bean from home: com.netlife.finance.core.bankingsessionbean.BankingSessionHome
at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessionManager.java:395)
at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:124)
at weblogic.ejb20.internal.StatefulEJBObject.preInvoke(StatefulEJBObject.java:182)
at com.netlife.finance.core.bankingsessionbean.BankingSessionBean_ureol4_EOImpl.execute(BankingSessionBean_ureol4_EOImpl.java:67)
at com.netlife.finance.core.sessionmanagerbean.SessionManagerBean.callSessionBean(SessionManagerBean.java:343)
at com.netlife.finance.core.sessionmanagerbean.SessionManagerBean.callSessionBean(SessionManagerBean.java:379)
at com.netlife.finance.core.sessionmanagerbean.SessionManagerBean.execute(SessionManagerBean.java:532)
at com.netlife.finance.core.sessionmanagerbean.SessionManagerBean_h2936g_EOImpl.execute(SessionManagerBean_h2936g_EOImpl.java:373)
---------------------------------------------------------------------------------------------------
concurrent means allow multiple clients simultaneous access to the instance.
reentrant means allow the instance to either reinvoke itself or allow any of the
EJB instances which it indirectly invokes to reinvoke it.
Somewhere within your logic path your code is trying to reinvoke (ie, call a method
by means of its Remote interfaces via the container) the SSB.