在我的Tomcat日志(卡塔利娜)我得到以下错误防止我的应用程序从启动:

SEVERE: Error listenerStart
24-Mar-2009 13:23:10 org.apache.catalina.core.StandardContext start
SEVERE: Context [/exampleA] startup failed due to previous errors

我不知道为什么我收到此。在我的web.xml我有以下

<listener>
    <listener-class>
        uk.co.a.listener.SessionListener
    </listener-class>
</listener>

<listener>
    <listener-class>
        uk.co.a.listener.SessionAttributeListener
    </listener-class>
</listener>

当我注释掉听众它启动的罚款。用于listners代码低于:

public class SessionAttributeListener implements HttpSessionAttributeListener {
    static Log log = LogFactory.getLog(SessionAttributeListener.class.getName());

    public void attributeAdded(HttpSessionBindingEvent hsbe) {
        log.debug("VALUE attributeAdded to THE SESSION:" + hsbe.getName());
    }

    public void attributeRemoved(HttpSessionBindingEvent hsbe) {
        log.debug("VALUE attributeRemoved from THE SESSION:" + hsbe.getName());
    }

    public void attributeReplaced(HttpSessionBindingEvent hsbe) {
        log.debug("VALUE attributeReplaced in THE SESSION:" + hsbe.getName());
    }
}

public class SessionListener implements HttpSessionListener {

    static Log log = LogFactory.getLog(SessionListener.class.getName());

    private static int activeSessions = 0;
    public void sessionCreated(HttpSessionEvent evt)
    {
        activeSessions++;
        log.debug("No. of active sessions on:"+
                new java.util.Date()+" : "+activeSessions);
    }
    public void sessionDestroyed (HttpSessionEvent evt)
    {
        activeSessions--;
    }
} 

这是为什么不开始?或者,我可以在哪里寻找更多的信息?

<强>更新

有只似乎是从开始了SessionAttributeListener的问题。该SessionListener未启动,因为<听者>中的之后被宣布

<强>更新

有与所使用的JAR文件中的问题。没有包含在SessionAttributeListener的类。当它被包含在应用程序启动。

<强>更新

在AttributeListener似乎不运行。当它被使用的代码失败。有没有一种简单的方法来检查,如果侦听器正在运行?

有帮助吗?

解决方案

重新您的更新阅读“的AttributeListener似乎并没有运行。当它被使用的代码失败。有没有一种简单的方法来检查,如果侦听器正在运行?”你有没有尝试添加静态初始化器?类似

static {
log.debug("static initialiser called");
}

这种方式,第一次在类中引用你应该得到的日志记录。

scroll top