• Andy Wilkinson's avatar
    Avoid calling URL.getContent() when defining a package · a31180dd
    Andy Wilkinson authored
    URL.getContent() is shorthand for URL.openConnection().getContent().
    It creates an InputStream that isn't explicitly closed. This means
    that a file handle remains open until the URLConnection is garbage
    collected. This can lead to the process exceeding the limit for open
    files.
    
    Previously, LaunchedURLClassLoader was using getConent() when
    proactively defining a package for a class that is about to be loaded.
    getContent() was used to access nested jar files to check if they
    contained the package and, if so, to retrieve the jar's manifest.
    
    In place of using getContent(), this commit uses JarURLConnection's
    getJarFile() method which provides access to the JarFile without the
    unwanted side-effect of opening an input stream.
    
    Closes gh-7180
    a31180dd
Name
Last commit
Last update
.github Loading commit data...
.mvn Loading commit data...
eclipse Loading commit data...
spring-boot Loading commit data...
spring-boot-actuator Loading commit data...
spring-boot-actuator-docs Loading commit data...
spring-boot-autoconfigure Loading commit data...
spring-boot-cli Loading commit data...
spring-boot-dependencies Loading commit data...
spring-boot-deployment-tests Loading commit data...
spring-boot-devtools Loading commit data...
spring-boot-docs Loading commit data...
spring-boot-full-build Loading commit data...
spring-boot-integration-tests Loading commit data...
spring-boot-parent Loading commit data...
spring-boot-samples Loading commit data...
spring-boot-starters Loading commit data...
spring-boot-test Loading commit data...
spring-boot-test-autoconfigure Loading commit data...
spring-boot-tools Loading commit data...
.gitignore Loading commit data...
.settings-template.xml Loading commit data...
.travis.yml Loading commit data...
CODE_OF_CONDUCT.adoc Loading commit data...
CONTRIBUTING.adoc Loading commit data...
LICENSE.txt Loading commit data...
README.adoc Loading commit data...
mvnw Loading commit data...
mvnw.cmd Loading commit data...
pom.xml Loading commit data...