Java 监听器未在 Tomcat 下启动

标签 java tomcat listener

在我的 Tomcat 日志 (catalina) 中,我收到以下错误,阻止我的应用程序启动:

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

I do not know why I am getting this. In my web.xml I have the following

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

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

当我注释掉监听器时,它启动正常。监听器的代码如下:

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");
}

这样,第一次引用该类时,您应该获得日志记录。

关于Java 监听器未在 Tomcat 下启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/677443/

相关文章:

使用数据库的 Java Spring 身份验证,如何删除角色模型?

java - 如何在不每次加载 URL 的情况下从 JPanel 调整子 WebView/JFXPanel 的大小?

Java虚拟机启动器错误-发生了java异常

ios - 让 GMSCircle 响应点击?

java - String indexOf 方法不适用于字符串中的第一个字符

java - 唯一目的是调用另一个方法的方法的正确术语是什么?

mysql - 数据未使用 jsp 插入 mysql 数据库中 - 在运行 process.jsp 时显示空白页面

tomcat - 如何在 servlet 本身中指定 servlet 路径

java - 如何让 SimpleProperty 通知第一组听众?

java - Java 中的 MVC 和事件监听器