Author: violetagg Date: Fri Dec 4 20:23:44 2015 New Revision: 1718022 URL: http://svn.apache.org/viewvc?rev=1718022&view=rev Log: Stream may not be closed in all branches. Findbugs report.
Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Catalina.java?rev=1718022&r1=1718021&r2=1718022&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Fri Dec 4 20:23:44 2015 @@ -514,77 +514,81 @@ public class Catalina { InputStream inputStream = null; File file = null; try { - file = configFile(); - inputStream = new FileInputStream(file); - inputSource = new InputSource(file.toURI().toURL().toString()); - } catch (Exception e) { - if (log.isDebugEnabled()) { - log.debug(sm.getString("catalina.configFail", file), e); - } - } - if (inputStream == null) { try { - inputStream = getClass().getClassLoader() - .getResourceAsStream(getConfigFile()); - inputSource = new InputSource - (getClass().getClassLoader() - .getResource(getConfigFile()).toString()); + file = configFile(); + inputStream = new FileInputStream(file); + inputSource = new InputSource(file.toURI().toURL().toString()); } catch (Exception e) { if (log.isDebugEnabled()) { - log.debug(sm.getString("catalina.configFail", - getConfigFile()), e); + log.debug(sm.getString("catalina.configFail", file), e); + } + } + if (inputStream == null) { + try { + inputStream = getClass().getClassLoader() + .getResourceAsStream(getConfigFile()); + inputSource = new InputSource + (getClass().getClassLoader() + .getResource(getConfigFile()).toString()); + } catch (Exception e) { + if (log.isDebugEnabled()) { + log.debug(sm.getString("catalina.configFail", + getConfigFile()), e); + } } } - } - // This should be included in catalina.jar - // Alternative: don't bother with xml, just create it manually. - if (inputStream == null) { - try { - inputStream = getClass().getClassLoader() - .getResourceAsStream("server-embed.xml"); - inputSource = new InputSource - (getClass().getClassLoader() - .getResource("server-embed.xml").toString()); - } catch (Exception e) { - if (log.isDebugEnabled()) { - log.debug(sm.getString("catalina.configFail", - "server-embed.xml"), e); + // This should be included in catalina.jar + // Alternative: don't bother with xml, just create it manually. + if (inputStream == null) { + try { + inputStream = getClass().getClassLoader() + .getResourceAsStream("server-embed.xml"); + inputSource = new InputSource + (getClass().getClassLoader() + .getResource("server-embed.xml").toString()); + } catch (Exception e) { + if (log.isDebugEnabled()) { + log.debug(sm.getString("catalina.configFail", + "server-embed.xml"), e); + } } } - } - if (inputStream == null || inputSource == null) { - if (file == null) { - log.warn(sm.getString("catalina.configFail", - getConfigFile() + "] or [server-embed.xml]")); - } else { - log.warn(sm.getString("catalina.configFail", - file.getAbsolutePath())); - if (file.exists() && !file.canRead()) { - log.warn("Permissions incorrect, read permission is not allowed on the file."); + if (inputStream == null || inputSource == null) { + if (file == null) { + log.warn(sm.getString("catalina.configFail", + getConfigFile() + "] or [server-embed.xml]")); + } else { + log.warn(sm.getString("catalina.configFail", + file.getAbsolutePath())); + if (file.exists() && !file.canRead()) { + log.warn("Permissions incorrect, read permission is not allowed on the file."); + } } + return; } - return; - } - try { - inputSource.setByteStream(inputStream); - digester.push(this); - digester.parse(inputSource); - } catch (SAXParseException spe) { - log.warn("Catalina.start using " + getConfigFile() + ": " + - spe.getMessage()); - return; - } catch (Exception e) { - log.warn("Catalina.start using " + getConfigFile() + ": " , e); - return; - } finally { try { - inputStream.close(); - } catch (IOException e) { - // Ignore + inputSource.setByteStream(inputStream); + digester.push(this); + digester.parse(inputSource); + } catch (SAXParseException spe) { + log.warn("Catalina.start using " + getConfigFile() + ": " + + spe.getMessage()); + return; + } catch (Exception e) { + log.warn("Catalina.start using " + getConfigFile() + ": " , e); + return; + } + } finally { + if (inputStream != null) { + try { + inputStream.close(); + } catch (IOException e) { + // Ignore + } } } Modified: tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java?rev=1718022&r1=1718021&r2=1718022&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/WebappServiceLoader.java Fri Dec 4 20:23:44 2015 @@ -159,10 +159,9 @@ public class WebappServiceLoader<T> { void parseConfigFile(LinkedHashSet<String> servicesFound, URL url) throws IOException { - try (InputStream is = url.openStream()) { - InputStreamReader in = - new InputStreamReader(is, StandardCharsets.UTF_8); - BufferedReader reader = new BufferedReader(in); + try (InputStream is = url.openStream(); + InputStreamReader in = new InputStreamReader(is, StandardCharsets.UTF_8); + BufferedReader reader = new BufferedReader(in);) { String line; while ((line = reader.readLine()) != null) { int i = line.indexOf('#'); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org