openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Andraschko <andraschko.tho...@gmail.com>
Subject Re: Could NOT lazily initialize session context because of null RequestContext
Date Tue, 16 Apr 2013 08:11:33 GMT
Issue created -> https://issues.apache.org/jira/browse/OWB-841


2013/4/16 Thomas Andraschko <andraschko.thomas@gmail.com>

> Hey Mark,
>
> its not a exception, i just tracked the method calls :)
> It's just the warning the i mentioned in the first mail.
>
> I will play a little bit and create a ticket. Maybe it's also related to
> CODI, as i don't have a bean with @PreDestroy.
>
>
> 2013/4/16 Mark Struberg <struberg@yahoo.de>
>
>> yup thats right, there is something wrong.
>> But there must be something special in your situation as I've never seen
>> this in production yet.
>>
>> Can you please create a JIRA so we can track it?
>> Please also add
>>
>> * which version of owb
>> * which servlet container
>> * some info whats going on in your thread
>>
>> > InjectionTargetProducer.preDestroy(InjectionTargetProducer.java:132)
>> It seems that you have a @PreDestroy method which has a @SessionScoped
>> bean as injection point.
>> Can you please reduce your session timeout to 2 minutes and set a
>> breakpoint to the place where the Exception gets thrown
>> (WebContextsService.java:793)? And then you should be able to see which
>> Bean did cause this problem if you go down call stack.
>>
>> And now some info about why I hacked the lazy session start:
>> Initially we started the SessionContext for each and every request. But
>> that means that we also did this for JSF Resource requests (png, css, etc)
>> or other requests which simply don't need any session. To reduce the number
>> of sessions we now only request one if a SessionScoped bean gets requested.
>>
>> This was especially hard in our case as we configured 1 node to only
>> serve all the resources of our app (and all our other nodes only serve
>> 'real' pages) - which was another nice speed bump ;)
>> You can look at MyFaces / Jakob Korherrs staticresourcehandler if you
>> have a performance intense app.
>>
>> LieGrue,
>> strub
>>
>>
>>   ------------------------------
>>  *From:* Thomas Andraschko <andraschko.thomas@gmail.com>
>> *To:* user@openwebbeans.apache.org; Mark Struberg <struberg@yahoo.de>
>> *Sent:* Tuesday, 16 April 2013, 9:00
>> *Subject:* Re: Could NOT lazily initialize session context because of
>> null RequestContext
>>
>> Here is the stacktrace:
>>
>>     at
>> org.apache.webbeans.web.context.WebContextsService.lazyStartSessionContext(WebContextsService.java:793)
>>     at
>> org.apache.webbeans.web.context.WebContextsService.getSessionContext(WebContextsService.java:708)
>>     at
>> org.apache.webbeans.web.context.WebContextsService.getCurrentContext(WebContextsService.java:248)
>>     at
>> org.apache.webbeans.context.ContextFactory.getStandardContext(ContextFactory.java:185)
>>     at
>> org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:307)
>>     at
>> org.apache.webbeans.portable.creation.AbstractProducer.getCreationalContext(AbstractProducer.java:105)
>>     at
>> org.apache.webbeans.portable.creation.InjectionTargetProducer.preDestroy(InjectionTargetProducer.java:132)
>>     at
>> org.apache.webbeans.component.InjectionTargetWrapper.preDestroy(InjectionTargetWrapper.java:98)
>>     at
>> org.apache.webbeans.component.AbstractOwbBean.destroy(AbstractOwbBean.java:251)
>>     at
>> org.apache.webbeans.context.AbstractContext.destroyInstance(AbstractContext.java:205)
>>     at
>> org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:227)
>>     at
>> org.apache.webbeans.web.context.SessionContextManager.destroySessionContextWithSessionId(SessionContextManager.java:84)
>>     at
>> org.apache.webbeans.web.context.WebContextsService.destroySessionContext(WebContextsService.java:495)
>>     at
>> org.apache.webbeans.web.context.WebContextsService.endContext(WebContextsService.java:216)
>>     at
>> org.apache.webbeans.servlet.WebBeansConfigurationListener.sessionDestroyed(WebBeansConfigurationListener.java:197)
>>     at
>> org.eclipse.jetty.server.session.AbstractSessionManager.removeSession(AbstractSessionManager.java:801)
>>     at
>> org.eclipse.jetty.server.session.AbstractSession.timeout(AbstractSession.java:340)
>>     at
>> org.eclipse.jetty.server.session.HashSessionManager.scavenge(HashSessionManager.java:320)
>>     at
>> org.eclipse.jetty.server.session.HashSessionManager$2.run(HashSessionManager.java:282)
>>     at java.util.TimerThread.mainLoop(Timer.java:555)
>>     at java.util.TimerThread.run(Timer.java:505)
>>
>> It happens when the session expires.
>> Any idea? IMO it should not try to lazy start a session if the session
>> will be destroyed.
>>
>>
>> 2013/4/12 Thomas Andraschko <andraschko.thomas@gmail.com>
>>
>> Hi Mark,
>>
>> hmm, weird. I always get them at runtime. 7-8 times today. I only changed
>> some pages and layout stuff and refreshed the page.
>> Maybe it's because Jetty's change scanning.
>> I will try it with Tomcat on Monday.
>>
>>
>>
>> 2013/4/12 Mark Struberg <struberg@yahoo.de>
>>
>> Hi Thomas, this sometimes happens at container startup if the container
>> code invokes some SessionScoped event. But the Session is only available in
>> a request of course. this should be in the code already since a long time
>> (1.1.2 or so)
>>
>> LieGrue,
>> strub
>>
>>
>>
>>   ------------------------------
>>  *From:* Thomas Andraschko <andraschko.thomas@gmail.com>
>> *To:* user@openwebbeans.apache.org
>> *Sent:* Friday, April 12, 2013 4:40 PM
>> *Subject:* Could NOT lazily initialize session context because of null
>> RequestContext
>>
>> Hi,
>>
>> i have many times this warning during development:
>>
>> WARNING: Could NOT lazily initialize session context because of null
>> RequestContext
>>
>> Why does this occur and how can i avoid it?
>> I never mentioned this error in my old application which runned perfectly
>> with 1.1.6 (or 1.1.5, cant remember)
>>
>> Regards,
>> Thomas
>>
>>
>>
>>
>>
>>
>>
>

Mime
View raw message