You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2015/12/04 21:23:44 UTC
svn commit: r1718022 - in /tomcat/trunk/java/org/apache/catalina/startup:
Catalina.java WebappServiceLoader.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org