문제

내 Tomcat Logs (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

나는 왜 내가 이것을 얻고 있는지 모른다. 내 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는 시작하지 않았습니다u003Clistener> 이후에 선언되었습니다u003Cservlet>

업데이트

사용 된 JAR 파일에 문제가있었습니다. SessionAttributeListener의 클래스는 포함되지 않았습니다. 포함되었을 때 응용 프로그램이 시작되었습니다.

업데이트

AtributeListener는 실행되지 않는 것 같습니다. 사용되면 코드가 실패합니다. 청취자가 실행 중인지 확인하는 간단한 방법이 있습니까?

도움이 되었습니까?

해결책

RE 업데이트 읽기 "AttributeListener가 실행되지 않는 것 같습니다. 사용하면 코드가 실패합니다. 청취자가 실행 중인지 확인하는 간단한 방법이 있습니까?" 정적 이니셜 라이저를 추가 해 보셨습니까? 같은 것

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

그렇게하면 수업이 처음으로 참조되면 로그 레코드를 받아야합니다.

다른 팁

다른 곳에서 솔루션으로가는 경로를 찾았 으므로이 정보를 해당 정보로 업데이트하는 것이 유용 할 것이라고 생각했습니다.

그것은 기본 예외와 관련이 있으며, 이는 두려운 '심각한 : Error Listerstart'메시지가 어디서나 기록되지 않으며 예외를 생성하기 위해 로깅을 구성하는 방법을 유발합니다.

에서 여기 로깅 문제와 솔루션에 대한 매우 명확한 설명이 있습니다.

내 경우에는 더 많은 컷 다운 버전을 위해 갔다가 추가했습니다.

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/web-app].level = FINE
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/web-app].handlers = java.util.logging.ConsoleHandler

Tomcat conf /logging.properties 및 /웹 앱을 적절한 웹 응용 프로그램 컨텍스트로 교체합니다.

그리고 마술처럼 숨겨진 예외가 나타 났으며 Java 6 런타임은 Java 7이 편집 한 코드에 대해 알고 싶지 않다고 말했습니다.

이것은 Tomcat 7에 적용됩니다. 마일리지는 다를 수 있습니다.

Tomcat 로그에서 "이전 오류로 인해 시작 실패"가 발생하면이 문제를 일으키는 로그에서 더 이상 예외를 찾거나 Tomcat 내에서 예외가 작성 될 수 있도록 Tomcat 내에서 로깅을 완전히 구성해야합니다. 로그. 로그에 근본 원인이 작성되면 해상도는 일반적으로 사소합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top