You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ol...@apache.org on 2013/01/31 14:11:50 UTC
svn commit: r1440948 - in /tomcat/maven-plugin/trunk: pom.xml
tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Author: olamy
Date: Thu Jan 31 13:11:49 2013
New Revision: 1440948
URL: http://svn.apache.org/viewvc?rev=1440948&view=rev
Log:
[MTOMCAT-186] Closing executable JAR does not call ServletContextListener.contextDestroyed()
Modified:
tomcat/maven-plugin/trunk/pom.xml
tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
Modified: tomcat/maven-plugin/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/pom.xml?rev=1440948&r1=1440947&r2=1440948&view=diff
==============================================================================
--- tomcat/maven-plugin/trunk/pom.xml (original)
+++ tomcat/maven-plugin/trunk/pom.xml Thu Jan 31 13:11:49 2013
@@ -707,6 +707,7 @@
<exclude>*.sh</exclude>
<exclude>.git/**</exclude>
<exclude>.idea/**</exclude>
+ <exclude>out/**</exclude>
<exclude>.extract/**</exclude>
<exclude>*.patch</exclude>
</excludes>
Modified: tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java
URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java?rev=1440948&r1=1440947&r2=1440948&view=diff
==============================================================================
--- tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java (original)
+++ tomcat/maven-plugin/trunk/tomcat7-war-runner/src/main/java/org/apache/tomcat/maven/runner/Tomcat7Runner.java Thu Jan 31 13:11:49 2013
@@ -26,6 +26,8 @@ import org.apache.catalina.startup.Catal
import org.apache.catalina.startup.ContextConfig;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.valves.AccessLogValve;
+import org.apache.juli.ClassLoaderLogManager;
+import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.http.fileupload.FileUtils;
import org.apache.tomcat.util.http.fileupload.IOUtils;
@@ -46,6 +48,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.StringTokenizer;
+import java.util.logging.LogManager;
/**
* FIXME add junit for that but when https://issues.apache.org/bugzilla/show_bug.cgi?id=52028 fixed
@@ -399,12 +402,49 @@ public class Tomcat7Runner
}
tomcat.start();
+
+ Runtime.getRuntime().addShutdownHook( new TomcatShutdownHook() );
+
}
waitIndefinitely();
}
+ protected class TomcatShutdownHook
+ extends Thread
+ {
+
+ protected TomcatShutdownHook()
+ {
+ // no op
+ }
+
+ @Override
+ public void run()
+ {
+ try
+ {
+ Tomcat7Runner.this.stop();
+ }
+ catch ( Throwable ex )
+ {
+ ExceptionUtils.handleThrowable( ex );
+ System.out.println( "fail to properly shutdown Tomcat:" + ex.getMessage() );
+ }
+ finally
+ {
+ // If JULI is used, shut JULI down *after* the server shuts down
+ // so log messages aren't lost
+ LogManager logManager = LogManager.getLogManager();
+ if ( logManager instanceof ClassLoaderLogManager )
+ {
+ ( (ClassLoaderLogManager) logManager ).shutdown();
+ }
+ }
+ }
+ }
+
private URL getContextXml( String warPath )
throws IOException
{
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org