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)
>
>

Reply via email to