Hello All
In my project, we are using weblogic server 4.5.1. The idle timeout for the EJBs are kept at 1200 seconds (20 minutes) session timeout = 220 secs. There are only certain pages which call these stateful
EJB(s), the other pages dont call the methods(Remote) of the EJB,they just call the jsps and hence the httpsession is active each time the request is made for such pages.The session time out for the jsps is kept at 30 minutes. Sometimes what happens is, even though the session hasnt timed out the bean times out because of the fact the bean is not used for the specified time(even though the session is used quite frequently). So when i call the method on the EJB i am getting an ASSERTION ERROR in the log (Assertion error is not an exception and it just pops-up in the log, The exception i get is mentioned below). I dont know how to catch this exception individually. I tried catching the RemoteException but it didnt work out as i could not figure out whether it is because of the Assertion error or someother error thrown by the EJB server. Also i tried adding a method in the remote interface which simply does nothing (just to reset the session timeout) and each time the session clock gets reset i call this method. I am not sure whether it is the proper way to handle.
Can anyone help me in this regard. Your timely help in this regard will be highly appreciated as this is an urgent requirement to fix this problem in my project.
Exception
at weblogic.ejb.pstore.PersistableEORef.<init>(EOReplacer.java, Compiled Code)
at weblogic.ejb.pstore.EOReplacer.replaceObject(EOReplacer.java, Compiled Code)
at weblogic.common.internal.ReplacerObjectInputStream.resolveObject(ReplacerObjectInputStream.java:70)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java, Compiled Code)
at java.io.ObjectInputStream.inputClassFields(ObjectInputStream.java, Compiled Code)
at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java, Compiled Code)
at java.io.ObjectInputStream.inputObject(ObjectInputStream.java, Compiled Code)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java, Compiled Code)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java, Compiled Code)
at weblogic.ejb.pstore.nonTxPSFile.setup(nonTxPSFile.java, Compiled Code)
at weblogic.ejb.internal.SessionEJBContext.setBean(SessionEJBContext.java, Compiled Code)
at weblogic.ejb.internal.SessionEJBContext.afterBegin(SessionEJBContext.java, Compiled Code)
at com.hsl.tango.controller.IncomeRequest.updateLoanInfo(IncomeRequest.java, Compiled Code)
at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java, Compiled Code)
at weblogic.ejb.internal.StatefulEJBObject.remove(StatefulEJBObject.java, Compiled Code)
Thanks a bunch
Chandar