diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java index 3214d7452c9..16d64c7b74e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/cache/CachesEndpointAutoConfiguration.java @@ -16,10 +16,8 @@ package org.springframework.boot.actuate.autoconfigure.cache; -import java.util.LinkedHashMap; import java.util.Map; -import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnEnabledEndpoint; import org.springframework.boot.actuate.cache.CachesEndpoint; import org.springframework.boot.actuate.cache.CachesEndpointWebExtension; @@ -48,9 +46,8 @@ public class CachesEndpointAutoConfiguration { @Bean @ConditionalOnMissingBean - public CachesEndpoint cachesEndpoint( - ObjectProvider> cacheManagers) { - return new CachesEndpoint(cacheManagers.getIfAvailable(LinkedHashMap::new)); + public CachesEndpoint cachesEndpoint(Map cacheManagers) { + return new CachesEndpoint(cacheManagers); } @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthIndicatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthIndicatorAutoConfiguration.java index f9357967d1a..7d138840042 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthIndicatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/health/HealthIndicatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,12 +16,10 @@ package org.springframework.boot.actuate.autoconfigure.health; -import java.util.Collections; import java.util.Map; import reactor.core.publisher.Flux; -import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.health.ApplicationHealthIndicator; import org.springframework.boot.actuate.health.HealthAggregator; import org.springframework.boot.actuate.health.HealthIndicator; @@ -87,13 +85,11 @@ public class HealthIndicatorAutoConfiguration { @Bean @ConditionalOnMissingBean public ReactiveHealthIndicatorRegistry reactiveHealthIndicatorRegistry( - ObjectProvider> reactiveHealthIndicators, - ObjectProvider> healthIndicators) { + Map reactiveHealthIndicators, + Map healthIndicators) { return new ReactiveHealthIndicatorRegistryFactory() - .createReactiveHealthIndicatorRegistry( - reactiveHealthIndicators - .getIfAvailable(Collections::emptyMap), - healthIndicators.getIfAvailable(Collections::emptyMap)); + .createReactiveHealthIndicatorRegistry(reactiveHealthIndicators, + healthIndicators); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java index 496716247bb..412f9d5853e 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jdbc/DataSourceHealthIndicatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -72,10 +72,9 @@ public class DataSourceHealthIndicatorAutoConfiguration extends private DataSourcePoolMetadataProvider poolMetadataProvider; - public DataSourceHealthIndicatorAutoConfiguration( - ObjectProvider> dataSources, + public DataSourceHealthIndicatorAutoConfiguration(Map dataSources, ObjectProvider metadataProviders) { - this.dataSources = filterDataSources(dataSources.getIfAvailable()); + this.dataSources = filterDataSources(dataSources); this.metadataProviders = metadataProviders.orderedStream() .collect(Collectors.toList()); } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthIndicatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthIndicatorAutoConfiguration.java index 350a5ceeea8..bee662480ba 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthIndicatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/jms/JmsHealthIndicatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ import java.util.Map; import javax.jms.ConnectionFactory; -import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthIndicatorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration; @@ -55,8 +54,8 @@ public class JmsHealthIndicatorAutoConfiguration extends private final Map connectionFactories; public JmsHealthIndicatorAutoConfiguration( - ObjectProvider> connectionFactories) { - this.connectionFactories = connectionFactories.getIfAvailable(); + Map connectionFactories) { + this.connectionFactories = connectionFactories; } @Bean diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthIndicatorAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthIndicatorAutoConfiguration.java index c5d38bc63c3..564ddf082b7 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthIndicatorAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/mail/MailHealthIndicatorAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2017 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,7 +18,6 @@ package org.springframework.boot.actuate.autoconfigure.mail; import java.util.Map; -import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.actuate.autoconfigure.health.CompositeHealthIndicatorConfiguration; import org.springframework.boot.actuate.autoconfigure.health.ConditionalOnEnabledHealthIndicator; import org.springframework.boot.actuate.autoconfigure.health.HealthIndicatorAutoConfiguration; @@ -53,8 +52,8 @@ public class MailHealthIndicatorAutoConfiguration extends private final Map mailSenders; public MailHealthIndicatorAutoConfiguration( - ObjectProvider> mailSenders) { - this.mailSenders = mailSenders.getIfAvailable(); + Map mailSenders) { + this.mailSenders = mailSenders; } @Bean diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java index 57925b40d69..861b5b2510d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/quartz/QuartzAutoConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2018 the original author or authors. + * Copyright 2012-2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -74,13 +74,12 @@ public class QuartzAutoConfiguration { public QuartzAutoConfiguration(QuartzProperties properties, ObjectProvider customizers, - ObjectProvider jobDetails, - ObjectProvider> calendars, + ObjectProvider jobDetails, Map calendars, ObjectProvider triggers, ApplicationContext applicationContext) { this.properties = properties; this.customizers = customizers; this.jobDetails = jobDetails.getIfAvailable(); - this.calendars = calendars.getIfAvailable(); + this.calendars = calendars; this.triggers = triggers.getIfAvailable(); this.applicationContext = applicationContext; } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java index d0b3465d282..edca99ef7c5 100755 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/JspTemplateAvailabilityProvider.java @@ -17,6 +17,7 @@ package org.springframework.boot.autoconfigure.web.servlet; import java.io.File; +import java.security.AccessControlException; import org.springframework.boot.autoconfigure.template.TemplateAvailabilityProvider; import org.springframework.core.env.Environment; @@ -42,7 +43,11 @@ public class JspTemplateAvailabilityProvider implements TemplateAvailabilityProv if (resourceLoader.getResource(resourceName).exists()) { return true; } - return new File("src/main/webapp", resourceName).exists(); + try { + return new File("src/main/webapp", resourceName).exists(); + } + catch (AccessControlException ex) { + } } return false; }