You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2014/03/25 23:58:01 UTC

svn commit: r1581577 - in /tomcat/trunk/java/org/apache/catalina/loader: LocalStrings.properties LocalStrings_es.properties WebappClassLoader.java

Author: markt
Date: Tue Mar 25 22:58:01 2014
New Revision: 1581577

URL: http://svn.apache.org/r1581577
Log:
Try with resources

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
    tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java

Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties?rev=1581577&r1=1581576&r2=1581577&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings.properties Tue Mar 25 22:58:01 2014
@@ -17,7 +17,6 @@ webappClassLoader.addPermisionNoCanonica
 webappClassLoader.addPermisionNoProtocol=The protocol [{0}] in the URL [{1}] is not supported so no read permission was granted for resources located at this URL
 webappClassLoader.illegalJarPath=Illegal JAR entry detected with name {0}
 webappClassLoader.jdbcRemoveFailed=JDBC driver de-registration failed for web application [{0}]
-webappClassLoader.jdbcRemoveStreamError=Exception closing input stream during JDBC driver de-registration for web application [{0}]
 webappClassLoader.stopped=Illegal access: this web application instance has been stopped already.  Could not load {0}.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
 webappClassLoader.readError=Resource read error: Could not load {0}.
 webappClassLoader.clearJdbc=The web application [{0}] registered the JDBC driver [{1}] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

Modified: tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties?rev=1581577&r1=1581576&r2=1581577&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/LocalStrings_es.properties Tue Mar 25 22:58:01 2014
@@ -14,7 +14,6 @@
 # limitations under the License.
 webappClassLoader.illegalJarPath = Detectada entrada ilegal de JAR con nombre {0}
 webappClassLoader.jdbcRemoveFailed = Ha fallado el desregistro del conductor JDBC para la aplicaci\u00F3n web [{0}]
-webappClassLoader.jdbcRemoveStreamError = Excepci\u00F3n al cerrar flujo de entrada durante desregistro de conductor JDBC para apliicaci\u00F3n web [{0}]
 webappClassLoader.stopped = Acceso ilegal\: esta instancia de aplicaci\u00F3n web ya ha sido parada.  Could not load {0}.  La eventual traza de pila que sigue ha sido motivada por un error lanzado con motivos de depuraci\u00F3n as\u00ED como para intentar terminar el hilo que motiv\u00F3 el acceso ilegal y no tiene impacto funcional.
 webappClassLoader.readError = Error de lectura de recurso\: No pude cargar {0}.
 webappClassLoader.clearJdbc = La aplicaci\u00F3n web [{0}] registr\u00F3 el conductor JDBC [{1}] pero fall\u00F3 al anular el registro mientras la aplicaci\u00F3n web estaba parada. Para prevenir un fallo de memoria, se ha anulado el registro del conductor JDBC por la fuerza.

Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=1581577&r1=1581576&r2=1581577&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Tue Mar 25 22:58:01 2014
@@ -1585,13 +1585,13 @@ public class WebappClassLoader extends U
      * If only apps cleaned up after themselves...
      */
     private final void clearReferencesJdbc() {
-        InputStream is = getResourceAsStream(
-                "org/apache/catalina/loader/JdbcLeakPrevention.class");
+
         // We know roughly how big the class will be (~ 1K) so allow 2k as a
         // starting point
         byte[] classBytes = new byte[2048];
         int offset = 0;
-        try {
+        try (InputStream is = getResourceAsStream(
+                "org/apache/catalina/loader/JdbcLeakPrevention.class")) {
             int read = is.read(classBytes, offset, classBytes.length-offset);
             while (read > -1) {
                 offset += read;
@@ -1620,16 +1620,6 @@ public class WebappClassLoader extends U
             ExceptionUtils.handleThrowable(t);
             log.warn(sm.getString(
                     "webappClassLoader.jdbcRemoveFailed", getContextName()), t);
-        } finally {
-            if (is != null) {
-                try {
-                    is.close();
-                } catch (IOException ioe) {
-                    log.warn(sm.getString(
-                            "webappClassLoader.jdbcRemoveStreamError",
-                            getContextName()), ioe);
-                }
-            }
         }
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org