The following is our weblogic config:
Version: weblogic 6.0sp2 on solaris 8
Patches applied: CR049234_60_sp2.jar that fixes a bug in jdbc session persistence
Config: One instance hosting JSP pages and servlets talking to another instance
that hosts EJBs.
We're using jdbc for http session persistence. We're running into the exception
below that
occurs, whenever we clear all cookies on the client browser and try to hit a certain
JSP page, resulting in
a 500 error on the client. If the page in question is reloaded, the exception
does not occur.
The exception occurs when we try to store a string in the session. Upon looking
at the values stored in
the session via a debug jsp page, all values appear to be there after the reload,
which leads us to
think that the NotSerializableException is not due to something that we're trying
to store in the
session. If we switch to memory based session persistence, the problem goes away.
Has anyone seen
this before?
Any help on the above will be greatly appreciated,
Thanks,
Prahlad.
-------------------- Stack trace-------------------
ScreenFlowManager caught loading handler: weblogic.utils.NestedRuntimeException
- with nested exception:
[javax.servlet.ServletException: Could not serialize attributes to update session
O40FqD5mkWLshJOkUTszEsYJ0OFYdo9Ur5YbBzP6ZIUHoakyC4
NY:
java.io.NotSerializableException: weblogic.servlet.internal.WebAppServletContext
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:1841)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:480)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at weblogic.utils.UnsyncHashtable.writeExternal(UnsyncHashtable.java:407)
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1180)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at weblogic.servlet.internal.session.JDBCSessionData.serializeAttributes(JDBCSessionData.java:370)
at weblogic.servlet.internal.session.JDBCSessionData.dbUpdate(JDBCSessionData.java:235)
at weblogic.servlet.internal.session.JDBCSessionData.removeAttribute(JDBCSessionData.java:504)
at weblogic.servlet.internal.session.SessionData.removeValue(SessionData.java:156)
at weblogic.servlet.internal.session.SessionData.setAttribute(SessionData.java:249)
at weblogic.servlet.internal.session.JDBCSessionData.setAttribute(JDBCSessionData.java:478)
at com.cis.lodging.common.control.web.handlers.ExtClickFlowHandler.processFlow(ExtClickFlowHandler.java:32)
at com.cis.lodging.common.control.web.ScreenFlowManager.getNextScreen(ScreenFlowManager.java:235)
at com.cis.lodging.common.control.web.MainServlet.doProcess(MainServlet.java:150)
at com.cis.lodging.common.control.web.MainServlet.doGet(MainServlet.java:124)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
]
ScreenFlowManager: using screen = HOME
MainServlet: got ScreenFlowManager
<Aug 29, 2001 11:09:28 AM EDT> <Error> <HTTP> <[WebAppServletContext(4243174,SomeWebApp)]
Servlet failed with Exception
java.lang.IllegalStateException: HttpSession is invalid
at weblogic.servlet.internal.session.JDBCSessionData.getAttribute(JDBCSessionData.java:420)
at com.cis.lodging.common.util.JSPUtil.getLocale(JSPUtil.java:147)
at com.cis.lodging.common.control.web.MainServlet.doGet(MainServlet.java:129)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1631)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
<Aug 29, 2001 11:09:28 AM EDT> <Error> <Kernel> <ExecuteRequest failed
java.lang.IllegalStateException: HttpSession is invalid
at weblogic.servlet.internal.session.JDBCSessionData.getAttribute(JDBCSessionData.java:420)
at weblogic.servlet.internal.session.SessionData.getValue(SessionData.java:134)
at weblogic.servlet.internal.ServletRequestImpl.getRemoteUser(ServletRequestImpl.java:814)
at weblogic.servlet.logging.CLFLogger.log(CLFLogger.java:60)
at weblogic.servlet.logging.LogManagerHttp.log(LogManagerHttp.java:293)
at weblogic.servlet.internal.HttpServer.log(HttpServer.java:670)
at weblogic.servlet.internal.ServletResponseImpl.send(ServletResponseImpl.java:851)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1636)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
Peace,
--
Cameron Purdy
Tangosol Inc.
<< Tangosol Server: How Weblogic applications are customized >>
<< Download now from http://www.tangosol.com/download.jsp >>
"pathreya" <prahlad...@cendant.com> wrote in message
news:3b8d3d55$1...@newsgroups.bea.com...
--Vinod.