users@glassfish.java.net

Re: HTTP session invalidates when user works

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Fri, 26 Jun 2009 10:49:42 -0700

On 06/25/09 11:56 PM, glassfish_at_javadesktop.org wrote:
> I did it.
>
> This what I saw in the log:
>
> 1. When I click "Exit" button in my application stack trace looks so:
>
> [#|2009-06-26T10:41:48.046+0400|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8181-2;|
> Session destroyed, print stack trace:|#]
>
> [#|2009-06-26T10:41:48.046+0400|WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8181-2;_RequestID=bb0e4ff7-a6a7-4dbd-8a8f-bb90fc0fa47f;|
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1158)
> at ru.arriah.vetcontrol.web.vu.VUSessionDestoyingListener.sessionDestroyed(VUSessionDestoyingListener.java:15)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:816)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:774)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:762)
> at org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1407)
> at org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:199)
> at ru.arriah.vetcontrol.web.vu.jsp.authorize_002derror_jsp._jspService(authorize_002derror_jsp.java:45)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
> at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:875)
> at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
> at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:560)
> at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:490)
> at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:382)
> at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:549)
> at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:339)
> at org.apache.catalina.core.StandardHostValve.postInvoke(StandardHostValve.java:247)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:649)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
>
> ------------------------
>
> 2. When session invalidates automatically (not by timeout):
>
> [#|2009-06-26T10:26:11.140+0400|INFO|sun-appserver2.1|javax.enterprise.system.stream.out|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8181-2;|
> Session destroyed, print stack trace:|#]
>
> [#|2009-06-26T10:26:11.140+0400|WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=19;_ThreadName=httpSSLWorkerThread-8181-2;_RequestID=bb0e4ff7-a6a7-4dbd-8a8f-bb90fc0fa47f;|
> java.lang.Exception: Stack trace
> at java.lang.Thread.dumpStack(Thread.java:1158)
> at ru.arriah.vetcontrol.web.vu.VUSessionDestoyingListener.sessionDestroyed(VUSessionDestoyingListener.java:15)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:816)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:774)
> at org.apache.catalina.session.StandardSession.expire(StandardSession.java:762)
> at org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1407)
> at org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:199)
> at ru.arriah.vetcontrol.web.vu.action.ExitAction.execute(ExitAction.java:20)
> at ru.arriah.common.web.UIController.process(UIController.java:242)
> at ru.arriah.common.web.UIController.doGet(UIController.java:269)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
> at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.process(SSLReadTask.java:440)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLReadTask.doTask(SSLReadTask.java:228)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
>
>
> ru.arriah.vetcontrol.web.vu.action.ExitAction class in second dump is an action that executes when user click on "Exit" button in the application. It's very strange because he not did it. But two minutes ago other user clicked on "Exit" button.
>


Thanks for the stacktraces!
It looks like in either case, the session is invalidated by your
application.
Perhaps in your VUSessionDestoyingListener#sessionDestroyed, you could
also print the session id, by calling HttpSessionEvent#getSession().
getId().

Thanks,

Jan

> [Message sent by forum member 'mikamj' (mikamj)]
>
> http://forums.java.net/jive/thread.jspa?messageID=353090
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>