diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/ServiceLevelAgreementBoundary.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/ServiceLevelAgreementBoundary.java
index aae8f20f0d..d3a9788f09 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/ServiceLevelAgreementBoundary.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/ServiceLevelAgreementBoundary.java
@@ -21,7 +21,7 @@ import java.time.Duration;
import io.micrometer.core.instrument.Meter;
/**
- * A service level agreement boundary for use when configuring micrometer. Can be
+ * A service level agreement boundary for use when configuring Micrometer. Can be
* specified as either a {@link Long} (applicable to timers and distribution summaries) or
* a {@link Duration} (applicable to only timers).
*
@@ -57,7 +57,7 @@ public final class ServiceLevelAgreementBoundary {
}
/**
- * Return a new {@link ServiceLevelAgreementBoundary} instance for the given long
+ * Return a new {@link ServiceLevelAgreementBoundary} instance for the given String
* value.
* @param value the source value
* @return a {@link ServiceLevelAgreementBoundary} instance
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java
index a011ddf7b9..c4454894ba 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java
@@ -131,8 +131,7 @@ public class PrometheusMetricsExportAutoConfiguration {
String job = properties.getJob();
job = (job != null) ? job
: environment.getProperty("spring.application.name");
- job = (job != null) ? job : FALLBACK_JOB;
- return job;
+ return (job != null) ? job : FALLBACK_JOB;
}
}
diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java
index 0fc7a9ccb1..d9b16b74ca 100644
--- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java
+++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusProperties.java
@@ -43,7 +43,7 @@ public class PrometheusProperties {
* Configuration options for using Prometheus Pushgateway, allowing metrics to be
* pushed when they cannot be scraped.
*/
- private Pushgateway pushgateway = new Pushgateway();
+ private final Pushgateway pushgateway = new Pushgateway();
/**
* Step size (i.e. reporting frequency) to use.
@@ -70,10 +70,6 @@ public class PrometheusProperties {
return this.pushgateway;
}
- public void setPushgateway(Pushgateway pushgateway) {
- this.pushgateway = pushgateway;
- }
-
/**
* Configuration options for push-based interaction with Prometheus.
*/
diff --git a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusPushGatewayManager.java b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusPushGatewayManager.java
index 1c578f6379..4642f7c989 100644
--- a/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusPushGatewayManager.java
+++ b/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/prometheus/PrometheusPushGatewayManager.java
@@ -34,7 +34,7 @@ import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
- * Class that can be used to managed the pushing of metrics to a {@link PushGateway
+ * Class that can be used to manage the pushing of metrics to a {@link PushGateway
* Prometheus PushGateway}. Handles the scheduling of push operations, error handling and
* shutdown operations.
*
@@ -115,9 +115,9 @@ public class PrometheusPushGatewayManager {
}
catch (UnknownHostException ex) {
String host = ex.getMessage();
- String message = "Unable to locate prometheus push gateway host";
- message += StringUtils.hasLength(host) ? " '" + host + "'" : "";
- message += ". No longer attempting metrics publication to this host";
+ String message = "Unable to locate prometheus push gateway host"
+ + (StringUtils.hasLength(host) ? " '" + host + "'" : "")
+ + ". No longer attempting metrics publication to this host";
logger.error(message, ex);
shutdown(ShutdownOperation.NONE);
}
diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnClassCondition.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnClassCondition.java
index 2892804069..80239abf2c 100644
--- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnClassCondition.java
+++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnClassCondition.java
@@ -213,13 +213,12 @@ class OnClassCondition extends FilteringSpringBootCondition {
private ConditionOutcome getOutcome(String candidates) {
try {
if (!candidates.contains(",")) {
- return getOutcome(candidates, ClassNameFilter.MISSING,
- this.beanClassLoader);
+ return getOutcome(candidates, this.beanClassLoader);
}
for (String candidate : StringUtils
.commaDelimitedListToStringArray(candidates)) {
ConditionOutcome outcome = getOutcome(candidate,
- ClassNameFilter.MISSING, this.beanClassLoader);
+ this.beanClassLoader);
if (outcome != null) {
return outcome;
}
@@ -231,9 +230,8 @@ class OnClassCondition extends FilteringSpringBootCondition {
return null;
}
- private ConditionOutcome getOutcome(String className,
- ClassNameFilter classNameFilter, ClassLoader classLoader) {
- if (classNameFilter.matches(className, classLoader)) {
+ private ConditionOutcome getOutcome(String className, ClassLoader classLoader) {
+ if (ClassNameFilter.MISSING.matches(className, classLoader)) {
return ConditionOutcome.noMatch(ConditionMessage
.forCondition(ConditionalOnClass.class)
.didNotFind("required class").items(Style.QUOTE, className));
diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml
index 6061f88ebf..f95c62a5e1 100644
--- a/spring-boot-project/spring-boot-dependencies/pom.xml
+++ b/spring-boot-project/spring-boot-dependencies/pom.xml
@@ -1011,11 +1011,6 @@
netty-tcnative-boringssl-static${netty-tcnative.version}
-
- io.prometheus
- simpleclient_pushgateway
- ${prometheus-pushgateway.version}
- io.projectreactorreactor-bom
@@ -1023,6 +1018,11 @@
importpom
+
+ io.prometheus
+ simpleclient_pushgateway
+ ${prometheus-pushgateway.version}
+ io.reactivexrxjava
diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
index dccd955f13..f2ac2090e3 100644
--- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
+++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/howto.adoc
@@ -2013,7 +2013,7 @@ include::{code-examples}/jpa/HibernateSecondLevelCacheExample.java[tag=configura
----
This customizer will configure Hibernate to use the same `CacheManager` as the one that
-the application uses. It is also possible to use separate `CacheManager` instances, refer
+the application uses. It is also possible to use separate `CacheManager` instances. For details, refer
to {hibernate-documentation}#caching-provider-jcache[the Hibernate user guide].
diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
index 89e3cd573f..9cb6a3434e 100644
--- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
+++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/production-ready-features.adoc
@@ -1436,7 +1436,7 @@ annotation markers.
[[production-ready-metrics-export-appoptics]]
==== AppOptics
-By default, the AppOptics registry pushes metrics to https://www.appoptics.com/
+By default, the AppOptics registry pushes metrics to https://api.appoptics.com/v1/measurements
periodically. To export metrics to SaaS
{micrometer-registry-documentation}/appoptics[AppOptics], your API token must be provided:
diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/FilteredClassLoader.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/FilteredClassLoader.java
index 16cd61d9fe..57afe1d117 100644
--- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/FilteredClassLoader.java
+++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/FilteredClassLoader.java
@@ -62,6 +62,7 @@ public class FilteredClassLoader extends URLClassLoader {
* Create a {@link FilteredClassLoader} that hides resources from the given
* {@link ClassPathResource classpath resources}.
* @param hiddenResources the resources to hide
+ * @since 2.1.0
*/
public FilteredClassLoader(ClassPathResource... hiddenResources) {
this(Collections.emptyList(),
@@ -164,6 +165,8 @@ public class FilteredClassLoader extends URLClassLoader {
/**
* Filter to restrict the resources that can be loaded.
+ *
+ * @since 2.1.0
*/
public static final class ClassPathResourceFilter implements Predicate {
diff --git a/spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java b/spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java
index d04f3adc1e..64b1741b3f 100644
--- a/spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java
+++ b/spring-boot-project/spring-boot-tools/spring-boot-autoconfigure-processor/src/main/java/org/springframework/boot/autoconfigureprocessor/AutoConfigureAnnotationProcessor.java
@@ -243,7 +243,7 @@ public class AutoConfigureAnnotationProcessor extends AbstractProcessor {
NamedValuesExtractor(String... names) {
this.names = new HashSet<>(Arrays.asList(names));
- };
+ }
@Override
public List