Interesting, line 950 is the last line of code (bolded) below. I think user
(POJO) is NULL on the 2nd attempt when @PreDestroy method is called by
container.

    public void updateLastLogoutDt(Date lastLogout) {
        whenUpdateLastLogoutDt = null;
        try {
*            user.setLastLogoutDt(lastLogout);*




On Fri, Dec 7, 2012 at 1:56 AM, Howard W. Smith, Jr. <smithh032...@gmail.com
> wrote:

> > Hi to update in a db you need a transaction -> ejb
>
> I just confirmed that it is possible to use ejb in user bean when
> @PreDestroy method is called, but I also confirmed that the container is
> calling @PreDestroy more than once (at least 2 times). See stack trace
> below.
>
>
> INFO: Server startup in 21725 ms
> Dec 07, 2012 1:49:15 AM org.apache.myfaces.el.unified.ResolverBuilderBase
> sortELResolvers
> INFO: Chain of EL resolvers for Faces sorted with:
> org.apache.myfaces.el.unified.OpenWebBeansELResolverComparator@1b3ef75dand 
> the result order is
> [org.apache.myfaces.el.unified.resolver.implicitobject.ImplicitObjectResolver@42e208a4,
> org.apache.myfaces.el.unified.resolver.CompositeComponentELResolver@5a5694a,
> org.apache.myfaces.el.FlashELResolver@2ea37c2b,
> org.apache.myfaces.el.unified.resolver.ManagedBeanResolver@6f2d02f8,
> org.apache.myfaces.el.unified.resolver.ResourceResolver@741e20cd,
> javax.el.ResourceBundleELResolver@65fbae49,
> org.apache.myfaces.el.unified.resolver.ResourceBundleResolver@6e6f6eed,
> javax.el.MapELResolver@55dbc23f, javax.el.ListELResolver@4eade222,
> javax.el.ArrayELResolver@79d94e88, javax.el.BeanELResolver@29b30137,
> org.apache.webbeans.el.WebBeansELResolver@2714d744]
> [EL Info]: 2012-12-07
> 01:49:17.487--ServerSession(1201064079)--EclipseLink, version: Eclipse
> Persistence Services - 2.3.2.v20111125-r10461
> [EL Info]: 2012-12-07
> 01:49:18.064--ServerSession(1201064079)--file:/C:/apache-tomee-plus-1.5.1-SNAPSHOT/webapps/mcmsweb/WEB-INF/classes/_mcmsPU
> login successful
> GoogleCalendarUtil: calendarList.getEntries().size() = 2
> GoogleCalendarUtil: calendar ID/summary = oleta...@gmail.com/mcmsweb
> GoogleCalendarUtil: calendar ID/summary =
> 998449989...@developer.gserviceaccount.com/998449989...@developer.gserviceaccount.com
> GoogleCalendarUtil: events.getItems().size() = 250
> pf_UsersController.loginUser(): administrator logged in at Fri Dec 07
> 01:49:18 EST 2012
> pf_UsersController.loginUser(): administrator logged in at Fri Dec 07
> 01:49:41 EST 2012
> pf_UsersController.logout(): administrator logged out at Fri Dec 07
> 01:50:18 EST 2012
> pf_UsersController.updateLastLogoutDt(): Error updating USER last logout
> date/time: Fri Dec 07 01:50:18 EST 2012
> java.lang.NullPointerException
>  at
> jsf.users.pf_UsersController.updateLastLogoutDt(pf_UsersController.java:950)
> at jsf.users.pf_UsersController.sessionTimeout(pf_UsersController.java:666)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:381)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:185)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroyDefault(AbstractInjectionTargetBean.java:298)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroy(AbstractInjectionTargetBean.java:276)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyComponentInstance(AbstractInjectionTargetBean.java:197)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyInstance(AbstractInjectionTargetBean.java:176)
>  at
> org.apache.webbeans.component.AbstractOwbBean.destroyCreatedInstance(AbstractOwbBean.java:287)
>  at
> org.apache.webbeans.portable.creation.InjectionTargetProducer.preDestroy(InjectionTargetProducer.java:132)
> pf_UsersController.sessionTimeout(): administrator session ended at Fri
> Dec 07 01:50:18 EST 2012
> 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:199)
>  at
> org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:221)
> at
> org.apache.openejb.cdi.CdiAppContextsService.destroySessionContext(CdiAppContextsService.java:340)
>  at
> org.apache.openejb.cdi.CdiAppContextsService.endContext(CdiAppContextsService.java:131)
> at
> org.apache.tomee.catalina.WebBeansListener.sessionDestroyed(WebBeansListener.java:178)
>  at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
> at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:742)
>  at
> org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1253)
> at
> org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:190)
>  at jsf.users.pf_UsersController.logout(pf_UsersController.java:647)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>  at
> jsf.users.pf_UsersController_$$_javassist_2.logout(pf_UsersController_$$_javassist_2.java)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
> at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
>  at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246)
> at de.odysseus.el.tree.impl.ast.AstMethod.eval(AstMethod.java:91)
>  at de.odysseus.el.tree.impl.ast.AstMethod.invoke(AstMethod.java:104)
> at de.odysseus.el.tree.impl.ast.AstEval.invoke(AstEval.java:71)
>  at
> de.odysseus.el.TreeMethodExpression.invoke(TreeMethodExpression.java:132)
> at
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>  at
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>  at javax.faces.component.UICommand.broadcast(UICommand.java:120)
> at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
>  at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
> at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
>  at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759)
> at
> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38)
>  at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148)
> at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at pf.LoginFilter.doFilter(LoginFilter.java:194)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>  at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>  at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>  at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>  at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Dec 07, 2012 1:50:19 AM
> org.apache.webbeans.component.AbstractInjectionTargetBean preDestroyDefault
> SEVERE: An error occurred while executing [@PreDestroy.]
> java.lang.NullPointerException
> at pf.ApplicationScopeBean.logout(ApplicationScopeBean.java:268)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
> at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>  at
> pf.ApplicationScopeBean_$$_javassist_5.logout(ApplicationScopeBean_$$_javassist_5.java)
> at jsf.users.pf_UsersController.sessionTimeout(pf_UsersController.java:671)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:381)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:185)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroyDefault(AbstractInjectionTargetBean.java:298)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroy(AbstractInjectionTargetBean.java:276)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyComponentInstance(AbstractInjectionTargetBean.java:197)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyInstance(AbstractInjectionTargetBean.java:176)
>  at
> org.apache.webbeans.component.AbstractOwbBean.destroyCreatedInstance(AbstractOwbBean.java:287)
>  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:199)
>  at
> org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:221)
> at
> org.apache.openejb.cdi.CdiAppContextsService.destroySessionContext(CdiAppContextsService.java:340)
>  at
> org.apache.openejb.cdi.CdiAppContextsService.endContext(CdiAppContextsService.java:131)
> at
> org.apache.tomee.catalina.WebBeansListener.sessionDestroyed(WebBeansListener.java:178)
>  at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
> at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:742)
>  at
> org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1253)
> at
> org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:190)
>  at jsf.users.pf_UsersController.logout(pf_UsersController.java:647)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>  at
> jsf.users.pf_UsersController_$$_javassist_2.logout(pf_UsersController_$$_javassist_2.java)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
> at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
>  at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246)
> at de.odysseus.el.tree.impl.ast.AstMethod.eval(AstMethod.java:91)
>  at de.odysseus.el.tree.impl.ast.AstMethod.invoke(AstMethod.java:104)
> at de.odysseus.el.tree.impl.ast.AstEval.invoke(AstEval.java:71)
>  at
> de.odysseus.el.TreeMethodExpression.invoke(TreeMethodExpression.java:132)
> at
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>  at
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>  at javax.faces.component.UICommand.broadcast(UICommand.java:120)
> at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
>  at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
> at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
>  at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759)
> at
> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38)
>  at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148)
> at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at pf.LoginFilter.doFilter(LoginFilter.java:194)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>  at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>  at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>  at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>  at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> Dec 07, 2012 1:50:19 AM org.apache.webbeans.component.AbstractOwbBean
> destroy
> SEVERE: Exception thrown while destroying bean instance :
> [pf_UsersController, Name:pf_usersController, WebBeans Type:MANAGED, API
> Types:[java.lang.Object,java.io.Serializable,jsf.users.pf_UsersController],
> Qualifiers:[javax.enterprise.inject.Any,javax.enterprise.inject.Default,javax.inject.Named]]
> org.apache.webbeans.exception.WebBeansException:
> java.lang.NullPointerException
> at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroyDefault(AbstractInjectionTargetBean.java:303)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroy(AbstractInjectionTargetBean.java:276)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyComponentInstance(AbstractInjectionTargetBean.java:197)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyInstance(AbstractInjectionTargetBean.java:176)
>  at
> org.apache.webbeans.component.AbstractOwbBean.destroyCreatedInstance(AbstractOwbBean.java:287)
>  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:199)
>  at
> org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:221)
> at
> org.apache.openejb.cdi.CdiAppContextsService.destroySessionContext(CdiAppContextsService.java:340)
>  at
> org.apache.openejb.cdi.CdiAppContextsService.endContext(CdiAppContextsService.java:131)
> at
> org.apache.tomee.catalina.WebBeansListener.sessionDestroyed(WebBeansListener.java:178)
>  at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
> at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:742)
>  at
> org.apache.catalina.session.StandardSession.invalidate(StandardSession.java:1253)
> at
> org.apache.catalina.session.StandardSessionFacade.invalidate(StandardSessionFacade.java:190)
>  at jsf.users.pf_UsersController.logout(pf_UsersController.java:647)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>  at
> jsf.users.pf_UsersController_$$_javassist_2.logout(pf_UsersController_$$_javassist_2.java)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at javax.el.BeanELResolver.invokeMethod(BeanELResolver.java:737)
> at javax.el.BeanELResolver.invoke(BeanELResolver.java:467)
>  at javax.el.CompositeELResolver.invoke(CompositeELResolver.java:246)
> at de.odysseus.el.tree.impl.ast.AstMethod.eval(AstMethod.java:91)
>  at de.odysseus.el.tree.impl.ast.AstMethod.invoke(AstMethod.java:104)
> at de.odysseus.el.tree.impl.ast.AstEval.invoke(AstEval.java:71)
>  at
> de.odysseus.el.TreeMethodExpression.invoke(TreeMethodExpression.java:132)
> at
> org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpression.invoke(ContextAwareTagMethodExpression.java:96)
>  at
> org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:68)
>  at javax.faces.component.UICommand.broadcast(UICommand.java:120)
> at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1028)
>  at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:286)
> at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1375)
>  at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759)
> at
> org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38)
>  at
> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
> at
> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
>  at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.omnifaces.filter.GzipResponseFilter.doFilter(GzipResponseFilter.java:148)
> at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:75)
>  at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at pf.LoginFilter.doFilter(LoginFilter.java:194)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
>  at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>  at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>  at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>  at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>  at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>  at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>  at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>  at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>  at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.NullPointerException
> at pf.ApplicationScopeBean.logout(ApplicationScopeBean.java:268)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at
> org.apache.webbeans.intercept.InterceptorHandler.invoke(InterceptorHandler.java:322)
> at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:117)
>  at
> org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108)
>  at
> pf.ApplicationScopeBean_$$_javassist_5.logout(ApplicationScopeBean_$$_javassist_5.java)
> at jsf.users.pf_UsersController.sessionTimeout(pf_UsersController.java:671)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:381)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:185)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroyDefault(AbstractInjectionTargetBean.java:298)
>  ... 74 more
>
> pf_UsersController.loginUser(): brian logged in at Fri Dec 07 01:50:27 EST
> 2012
> pf_UsersController.sessionTimeout(): administrator session ended at Fri
> Dec 07 01:50:47 EST 2012
> Dec 07, 2012 1:51:53 AM org.apache.openejb.cdi.CdiAppContextsService
> lazyStartSessionContext
> WARNING: Could NOT lazily initialize session context because of null
> RequestContext
> pf_UsersController.sessionTimeout(): brian session ended at Fri Dec 07
> 01:51:53 EST 2012
> java.lang.NullPointerException
> at
> jsf.users.pf_UsersController.updateLastLogoutDt(pf_UsersController.java:950)
>  at
> jsf.users.pf_UsersController.sessionTimeout(pf_UsersController.java:666)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at java.lang.reflect.Method.invoke(Method.java:601)
> at
> org.apache.webbeans.intercept.InvocationContextImpl.proceedCommonAnnots(InvocationContextImpl.java:381)
>  at
> org.apache.webbeans.intercept.InvocationContextImpl.proceed(InvocationContextImpl.java:185)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroyDefault(AbstractInjectionTargetBean.java:298)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.preDestroy(AbstractInjectionTargetBean.java:276)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyComponentInstance(AbstractInjectionTargetBean.java:197)
>  at
> org.apache.webbeans.component.AbstractInjectionTargetBean.destroyInstance(AbstractInjectionTargetBean.java:176)
>  at
> org.apache.webbeans.component.AbstractOwbBean.destroyCreatedInstance(AbstractOwbBean.java:287)
>  at
> org.apache.webbeans.portable.creation.InjectionTargetProducer.preDestroy(InjectionTargetProducer.java:132)
> pf_UsersController.updateLastLogoutDt(): Error updating USER last logout
> date/time: Fri Dec 07 01:52:06 EST 2012
> pf_UsersController.sessionTimeout():  session ended at Fri Dec 07 01:52:06
> EST 2012
>  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:199)
>  at
> org.apache.webbeans.context.AbstractContext.destroy(AbstractContext.java:221)
> at
> org.apache.webbeans.web.context.SessionContextManager.destroySessionContextWithSessionId(SessionContextManager.java:84)
>  at
> org.apache.openejb.cdi.CdiAppContextsService.destroySessionContext(CdiAppContextsService.java:348)
>  at
> org.apache.openejb.cdi.CdiAppContextsService.endContext(CdiAppContextsService.java:131)
> at
> org.apache.tomee.catalina.WebBeansListener.sessionDestroyed(WebBeansListener.java:178)
>  at
> org.apache.catalina.session.StandardSession.expire(StandardSession.java:806)
> at
> org.apache.catalina.session.StandardSession.isValid(StandardSession.java:658)
>  at
> org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:534)
> at
> org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:519)
>  at
> org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1352)
> at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
>  at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
>  at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
>  at
> org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
>  at java.lang.Thread.run(Thread.java:722)
> Dec 07, 2012 1:52:06 AM org.apache.openejb.cdi.CdiAppContextsService
> lazyStartSessionContext
> WARNING: Could NOT lazily initialize session context because of null
> RequestContext
>
>
>
> On Fri, Dec 7, 2012 at 1:28 AM, Romain Manni-Bucau 
> <rmannibu...@gmail.com>wrote:
>
>> Hi to update in a db you need a transaction -> ejb
>
>
>

Reply via email to