Use TCCL at time of access for resource loading

Fixes gh-22119
pull/22996/head
Andy Wilkinson 4 years ago
parent f19f2b8714
commit f86831da9c

@ -67,8 +67,7 @@ class DataSourceInitializer {
DataSourceInitializer(DataSource dataSource, DataSourceProperties properties, ResourceLoader resourceLoader) {
this.dataSource = dataSource;
this.properties = properties;
this.resourceLoader = (resourceLoader != null) ? resourceLoader
: new DefaultResourceLoader(getClass().getClassLoader());
this.resourceLoader = (resourceLoader != null) ? resourceLoader : new DefaultResourceLoader(null);
}
/**

@ -47,7 +47,7 @@ public class MustacheResourceTemplateLoader implements TemplateLoader, ResourceL
private String charSet = "UTF-8";
private ResourceLoader resourceLoader = new DefaultResourceLoader(getClass().getClassLoader());
private ResourceLoader resourceLoader = new DefaultResourceLoader(null);
public MustacheResourceTemplateLoader() {
}

@ -238,8 +238,7 @@ final class ClassLoaderFilesResourcePatternResolver implements ResourcePatternRe
private final Supplier<Collection<ProtocolResolver>> protocolResolvers;
ApplicationContextResourceLoader(Supplier<Collection<ProtocolResolver>> protocolResolvers) {
// Use the restart class loader
super(Thread.currentThread().getContextClassLoader());
super(null);
this.protocolResolvers = protocolResolvers;
}

@ -95,7 +95,7 @@ public class SpringBootContextLoader extends AbstractContextLoader {
setActiveProfiles(environment, config.getActiveProfiles());
}
ResourceLoader resourceLoader = (application.getResourceLoader() != null) ? application.getResourceLoader()
: new DefaultResourceLoader(getClass().getClassLoader());
: new DefaultResourceLoader(null);
TestPropertySourceUtils.addPropertiesFilesToEnvironment(environment, resourceLoader,
config.getPropertySourceLocations());
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(environment, getInlinedProperties(config));

@ -550,7 +550,7 @@ public class SpringApplication {
return null;
}
ResourceLoader resourceLoader = (this.resourceLoader != null) ? this.resourceLoader
: new DefaultResourceLoader(getClassLoader());
: new DefaultResourceLoader(null);
SpringApplicationBannerPrinter bannerPrinter = new SpringApplicationBannerPrinter(resourceLoader, this.banner);
if (this.bannerMode == Mode.LOG) {
return bannerPrinter.print(environment, this.mainApplicationClass, logger);

@ -326,8 +326,7 @@ public class ConfigFileApplicationListener implements EnvironmentPostProcessor,
Loader(ConfigurableEnvironment environment, ResourceLoader resourceLoader) {
this.environment = environment;
this.placeholdersResolver = new PropertySourcesPlaceholdersResolver(this.environment);
this.resourceLoader = (resourceLoader != null) ? resourceLoader
: new DefaultResourceLoader(getClass().getClassLoader());
this.resourceLoader = (resourceLoader != null) ? resourceLoader : new DefaultResourceLoader(null);
this.propertySourceLoaders = SpringFactoriesLoader.loadFactories(PropertySourceLoader.class,
getClass().getClassLoader());
}

@ -33,8 +33,7 @@ import org.springframework.util.ResourceUtils;
*/
class StringToFileConverter implements Converter<String, File> {
private static final ResourceLoader resourceLoader = new DefaultResourceLoader(
StringToFileConverter.class.getClassLoader());
private static final ResourceLoader resourceLoader = new DefaultResourceLoader(null);
@Override
public File convert(String source) {

Loading…
Cancel
Save