2016-07-29 31 views
0

Ich verwende Grails Frame und wenn ich eine WAR-Datei erstellen und auf Tomcat-7 bereitstellen, erhalte ich den folgenden Fehler. Aber irgendwann ist der Einsatz erfolgreich.War Datei konnte nicht auf Tomcat 7 bereitgestellt werden

29. Juli 2016 10.19.23 org.apache.catalina.core.StandardContext startInternal SCHWEREN: Fehler listenerStart 29. Juli 2016 10.19.23 org.apache.catalina.core.StandardContext startInternal SEVERE: Kontext [] Start aufgrund fehlender Fehler fehlgeschlagen 2016-07-29 10: 19: 23.951 [localhost-startStop-1] WARN lifecycle.ShutdownOperations - Fehler beim Ausführen des Herunterfahren-Vorgangs: BeanFactory nicht initialisiert oder bereits geschlossen - Call ' refresh 'vor dem Zugriff auf Beans über den ApplicationContext java.lang.IllegalStateException: BeanFactory nicht initialisiert oder bereits geschlossen - Aufruf' refresh 'vor dem Zugriff auf Beans über den ApplicationContext unter java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:471) bei java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:334) bei java.util.concurrent.FutureTask.run (FutureTask.java:166) bei java.util .concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145) unter java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:615) bei java.lang.Thread.run (Thread.java:722) Jul 29, 2016 10:19:23 AM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc SEVERE: Die Webanwendung [] registrierte den JDBC-Treiber [com.mysql.jdbc.Driver], konnte die Registrierung bei der Webanwendung jedoch nicht aufheben wurde gestoppt. Um einen Speicherverlust zu verhindern, wurde die Registrierung des JDBC-Treibers zwangsweise aufgehoben. Jul 29, 2016 10:19:23 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: Die Webanwendung [] scheint einen Thread mit dem Namen [Verbindungsaufräumungs-Thread] gestartet zu haben, konnte ihn jedoch nicht stoppen. Dies führt sehr wahrscheinlich zu einem Speicherleck. Jul 29, 2016 10:19:23 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads SEVERE: Die Webanwendung [] scheint einen Thread mit dem Namen [[email protected]] gestartet zu haben, ist jedoch fehlgeschlagen um es zu stoppen. Dies führt sehr wahrscheinlich zu einem Speicherleck.

Ich bin nicht in der Lage zu verstehen, warum das passiert. Kann mir jemand sagen, woran liegt das Problem? Ich glaube, dass dieser Fehler kommt, weil es aufgrund eines Problems nicht in der Lage ist, sich mit der MySQL-Datenbank zu verbinden.

+0

Sie müssen Ihren Krieg implementiert haben, ohne den Tomcat neu starten zu müssen, und er konnte nicht alle Threads stoppen, die er zuvor erstellt hat. Versuchen Sie, den Tomcat neu zu starten. –

+0

Danke für die Antwort Prakash. Ich habe den Kater ein paar Mal neu gestartet, aber den gleichen Fehler erneut bekommen. – Rohith

Antwort

1

Wenn Sie für diesen Ausdruck googeln: SEVERE: Error listener Sie erhalten eine Erklärung, warum dies geschieht.

Tomcat zeigt standardmäßig keine Protokoll-/Ausnahmemeldungen in Listeners and Filters Initialisierungscode an.

Versuchen das Hinzufügen einer logging.properties Datei und legen Sie sie auf WEB-INF/classes in Ihrem war mit folgendem Inhalt:

org.apache.catalina.core.ContainerBase.[Catalina].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler 

erleichtern Sie es automatisch in BuildConfig.groovy auf folgende Weise tun:

grails.war.resources = { stagingDir, args -> 
     def tomcatLoggingProperties = '''org.apache.catalina.core.ContainerBase.[Catalina].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].handlers = java.util.logging.ConsoleHandler''' 
    new File("${stagingDir}/WEB-INF/classes/logging.properties").write tomcatLoggingProperties 
} 

Nach der Bereitstellung des Krieges auf Tomcat inspizieren Sie Ihre catalina.out Protokolldatei. Es sollte jetzt mehr Rückmeldung über das Problem geben.