Okay, I'm still getting this exception (a lot) in TomEE localhost log and I still have 1.5.1 release JARs and no added/patched catalina JAR.
Also, I just/finally looked at the exception, carefully, and recognized that TomEE 1.5.1 is calling my UserHttpSessionListener.sessionDestroy(), since UserHttpSessionListener implements HttpSessionListener, but guess what... I commented '@WebListener' out on that code. Is this according to J2EE spec or is this TomEE? Below is the class definition. Since I added @PreDestroy to pf_UsersController, this UserHttpSessionListener is now obsolete; I'm sure if I delete this class from my library/app, then I will not get the exception (in previous email), anymore. Still looking for an answer to my question in the previous paragraph, above. Thanks. /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package pf; import java.util.Date; import javax.inject.Inject; import javax.servlet.annotation.WebListener; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import jsf.users.pf_UsersController; /** * * @author Administrator * * DOES NOT WORK in CDI-managed-bean web app, so commenting out the following: * @WebListener */ public class UserHttpSessionListener implements HttpSessionListener { @Inject private pf_UsersController userBean; @Override public void sessionCreated(HttpSessionEvent event) { // Do here the job. } @Override public void sessionDestroyed(HttpSessionEvent event) { /* * JSF Managed Beans * pf_UsersController userBean = (pf_UsersController) event.getSession(). getAttribute("pf_usersController"); */ if (userBean != null && userBean.getUser() != null) { String userName = userBean.getUser().getUserName(); System.out.println("UserHttpSessionListener.sessionDestroyed(): " + userName + " session destroyed"); userBean.sessionTimeout(); } } } On Tue, Dec 11, 2012 at 12:02 AM, Howard W. Smith, Jr. < smithh032...@gmail.com> wrote: > This exception occurs a different times throughout the day on production > as well as test/development server. Is there anything I can do to prevent > the exception (and I'm not asking to 'swallow' the exception). Please > advise. Thanks. > > Dec 10, 2012 9:03:14 PM org.apache.catalina.session.StandardSession expire > SEVERE: Session event listener threw exception > javax.enterprise.context.ContextNotActiveException: WebBeans context with > scope type annotation @SessionScoped does not exist within current thread > at > org.apache.webbeans.container.BeanManagerImpl.getContext(BeanManagerImpl.java:351) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.getContextualInstance(NormalScopedBeanInterceptorHandler.java:143) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:114) > at > org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke(NormalScopedBeanInterceptorHandler.java:108) > at > jsf.users.pf_UsersController_$$_javassist_2.getUser(pf_UsersController_$$_javassist_2.java) > at > pf.UserHttpSessionListener.sessionDestroyed(UserHttpSessionListener.java:40) > 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(Unknown Source) > >