I'm attempting to test in container, or live. I'm using jmeter's ant extension right now to run my tests. I guess I'm after common methods for handling a potentially large HttpSession when the user logs out. i tried adding session.invalidate() after the session.removeAttribute( ) call, but that didn't go so far in my tests. i was then showing invalid sessions. so, i've modified my logout to explicitly remove the "big" item we have in our http session. this really helps a bit.
> -----Original Message----- > From: Eric Pugh [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 18, 2004 10:20 AM > To: 'Turbine Users List' > Subject: RE: log user out - remove session info > > > You could write a unit test.. look at src/tests to see some > existing unit > tests for Turbine.. Then run it a whole bunch and see.. Look at > http://www.clarkware.com for an extension to junit > > > -----Original Message----- > > From: Mark Lybarger [mailto:[EMAIL PROTECTED] > > Sent: Wednesday, February 18, 2004 4:01 PM > > To: 'Turbine Users List' (E-mail) > > Subject: log user out - remove session info > > > > > > I'm looking into our app performance these days. In running > > a small jmeter script, my app starts throwing OutOfMemory > > errors. The script logs into my app, places an order and log > > out. The script is set to do this 50 times. It gets through > > about 5 and then i see the below stack trace for each > > subsequent request. Thus, I'm looking for memory leaks. Our > > app currently holds a lot of data in the user's session > > (RunData). I've included our current log out code. Does the > > removeUserFromSession() method clean up the httpSession > > object that's out there for the user? it would be nice to > > take a look at object's in memory after this script runs for > > a while, but i haven't yet gotten the hyades plugin to give > > anything other than weblogic specific statistics. > suggestions? ideas? > > > > thanks! > > ~mark > > > > logout code: > > if > > > (data.getSession().getAttribute(AccessControlList.SESSION_KEY)!=null) > > { > > > > data.getSession().removeAttribute(AccessControlList.SESSION_KEY); > > } > > > > if(data.getUser() != null) > > { > > data.getUser().setHasLoggedIn(new Boolean(false)); > > data.removeUserFromSession(); > > data.save(); > > } > > > > > > errors: > > > > 2004-02-18 09:21:35,843 [ExecuteThread: '14' for queue: > > 'weblogic.kernel.Default'] ERROR system - > > Turbine.handleException: null > > 2004-02-18 09:21:35,843 [ExecuteThread: '14' for queue: > > 'weblogic.kernel.Default'] ERROR system - > > java.lang.reflect.InvocationTargetException > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > > orImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > > odAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:324) > > at > > org.apache.turbine.util.velocity.VelocityActionEvent.executeEv > > ents(Unknown Source) > > at > > org.apache.turbine.util.velocity.VelocityActionEvent.perform(U > > nknown Source) > > at > > org.apache.turbine.modules.actions.VelocityAction.perform(Unkn > > own Source) > > at > > org.apache.turbine.modules.actions.VelocitySecureAction.perfor > > m(Unknown Source) > > at org.apache.turbine.modules.ActionLoader.exec(Unknown Source) > > at > > org.apache.turbine.modules.pages.DefaultPage.doBuild(Unknown Source) > > at org.apache.turbine.modules.Page.build(Unknown Source) > > at org.apache.turbine.modules.PageLoader.exec(Unknown Source) > > at org.apache.turbine.Turbine.doGet(Unknown Source) > > at org.apache.turbine.Turbine.doPost(Unknown Source) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > > at > > weblogic.servlet.internal.ServletStubImpl$ServletInvocationAct > > ion.run(ServletStubImpl.java:1053) > > at > > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Servle > > tStubImpl.java:387) > > at > > weblogic.servlet.internal.ServletStubImpl.invokeServlet(Servle > > tStubImpl.java:305) > > at > > weblogic.servlet.internal.WebAppServletContext$ServletInvocati > > onAction.run(WebAppServletContext.java:6310) > > at > > weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authe > > nticatedSubject.java:317) > > at > > weblogic.security.service.SecurityManager.runAs(SecurityManage > > r.java:118) > > at > > weblogic.servlet.internal.WebAppServletContext.invokeServlet(W > > ebAppServletContext.java:3622) > > at > > weblogic.servlet.internal.ServletRequestImpl.execute(ServletRe > > questImpl.java:2569) > > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) > > Caused by: java.lang.OutOfMemoryError > > > > --- > > Outgoing mail is certified Virus Free. > > Checked by AVG anti-virus system (http://www.grisoft.com). > > Version: 6.0.574 / Virus Database: 364 - Release Date: 1/29/2004 > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.574 / Virus Database: 364 - Release Date: 1/29/2004 > > > --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.574 / Virus Database: 364 - Release Date: 1/29/2004 --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
