diff --git a/.github/dco.yml b/.github/dco.yml
new file mode 100644
index 00000000..37e411e1
--- /dev/null
+++ b/.github/dco.yml
@@ -0,0 +1,2 @@
+require:
+ members: false
\ No newline at end of file
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 7979a5c5..9d5357d8 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -31,7 +31,7 @@ jobs:
- name: Build with Maven
run: ./mvnw -s .settings.xml clean org.jacoco:jacoco-maven-plugin:prepare-agent install -U -P sonar -nsu --batch-mode -Dmaven.test.redirectTestOutputToFile=true -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
- name: Publish Test Report
- uses: mikepenz/action-junit-report@v4
+ uses: mikepenz/action-junit-report@v5
if: always() # always run even if the previous step fails
with:
report_paths: '**/surefire-reports/TEST-*.xml'
diff --git a/docs/antora.yml b/docs/antora.yml
index ab1a8894..59ebef94 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -6,7 +6,7 @@ nav:
ext:
collector:
run:
- command: ./mvnw --no-transfer-progress -B process-resources -Pdocs -pl docs -Dantora-maven-plugin.phase=none -Dgenerate-docs.phase=none -Dgenerate-readme.phase=none -Dgenerate-cloud-resources.phase=none -Dmaven-dependency-plugin-for-docs.phase=none -Dmaven-dependency-plugin-for-docs-classes.phase=none -DskipTests
+ command: ./mvnw --no-transfer-progress -B process-resources -Pdocs -pl docs -Dantora-maven-plugin.phase=none -Dgenerate-docs.phase=none -Dgenerate-readme.phase=none -Dgenerate-cloud-resources.phase=none -Dmaven-dependency-plugin-for-docs.phase=none -Dmaven-dependency-plugin-for-docs-classes.phase=none -DskipTests -DdisableConfigurationProperties
local: true
scan:
dir: ./target/classes/antora-resources/
diff --git a/docs/modules/ROOT/pages/spring-cloud-circuitbreaker.adoc b/docs/modules/ROOT/pages/spring-cloud-circuitbreaker.adoc
index 7cf6e3cb..0c44db69 100755
--- a/docs/modules/ROOT/pages/spring-cloud-circuitbreaker.adoc
+++ b/docs/modules/ROOT/pages/spring-cloud-circuitbreaker.adoc
@@ -85,9 +85,9 @@ The `Customizer` interface has a single method (called `customize`) that takes t
For detailed information on how to customize a given implementation see
the following documentation:
-* link:../../../../spring-cloud-circuitbreaker/current/reference/html/spring-cloud-circuitbreaker.html#configuring-resilience4j-circuit-breakers[Resilience4J]
+* link:../../../../spring-cloud-circuitbreaker/reference/spring-cloud-circuitbreaker-resilience4j.html[Resilience4J]
* link:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc/circuitbreaker-sentinel.adoc#circuit-breaker-spring-cloud-circuit-breaker-with-sentinel--configuring-sentinel-circuit-breakers[Sentinel]
-* link:../../../../../spring-cloud-circuitbreaker/docs/current/reference/html/spring-cloud-circuitbreaker.html#configuring-spring-retry-circuit-breakers[Spring Retry]
+* link:../../../../../spring-cloud-circuitbreaker/reference/spring-cloud-circuitbreaker-spring-retry.html[Spring Retry]
Some `CircuitBreaker` implementations such as `Resilience4JCircuitBreaker` call `customize` method every time `CircuitBreaker#run` is called.
It can be inefficient. In that case, you can use `CircuitBreaker#once` method. It is useful where calling `customize` many times doesn't make sense,
diff --git a/docs/package.json b/docs/package.json
index 1c8155de..45cdd10b 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -1,10 +1,10 @@
{
- "dependencies": {
- "antora": "3.2.0-alpha.6",
- "@antora/atlas-extension": "1.0.0-alpha.2",
- "@antora/collector-extension": "1.0.0-beta.3",
- "@asciidoctor/tabs": "1.0.0-beta.6",
- "@springio/antora-extensions": "1.14.2",
- "@springio/asciidoctor-extensions": "1.0.0-alpha.14"
- }
+ "dependencies": {
+ "antora": "3.2.0-alpha.8",
+ "@antora/atlas-extension": "1.0.0-alpha.2",
+ "@antora/collector-extension": "1.0.1",
+ "@asciidoctor/tabs": "1.0.0-beta.6",
+ "@springio/antora-extensions": "1.14.4",
+ "@springio/asciidoctor-extensions": "1.0.0-alpha.17"
+ }
}
diff --git a/docs/pom.xml b/docs/pom.xml
index c9c56458..a7b1dea2 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -8,7 +8,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
jar
Spring Cloud Commons Docs
@@ -26,20 +26,28 @@
.*
${maven.multiModuleProjectDirectory}/docs/modules/ROOT/partials/
-
-
- ${project.groupId}
- spring-cloud-starter
-
-
- ${project.groupId}
- spring-cloud-starter-loadbalancer
-
-
src/main/asciidoc
+
+ enable-configuration-properties
+
+
+ !disableConfigurationProperties
+
+
+
+
+ ${project.groupId}
+ spring-cloud-starter
+
+
+ ${project.groupId}
+ spring-cloud-starter-loadbalancer
+
+
+
docs
diff --git a/pom.xml b/pom.xml
index 9ad40754..eeb45599 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
4.0.0
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
pom
Spring Cloud Commons Parent
Spring Cloud Commons Parent
@@ -13,7 +13,7 @@
org.springframework.cloud
spring-cloud-build
- 4.1.4-SNAPSHOT
+ 4.1.6-SNAPSHOT
diff --git a/spring-cloud-commons-dependencies/pom.xml b/spring-cloud-commons-dependencies/pom.xml
index 54d18aee..c9b87287 100644
--- a/spring-cloud-commons-dependencies/pom.xml
+++ b/spring-cloud-commons-dependencies/pom.xml
@@ -6,11 +6,11 @@
spring-cloud-dependencies-parent
org.springframework.cloud
- 4.1.4-SNAPSHOT
+ 4.1.6-SNAPSHOT
spring-cloud-commons-dependencies
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
pom
spring-cloud-commons-dependencies
Spring Cloud Commons Dependencies
diff --git a/spring-cloud-commons/pom.xml b/spring-cloud-commons/pom.xml
index 614e9557..1290c215 100644
--- a/spring-cloud-commons/pom.xml
+++ b/spring-cloud-commons/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-commons
diff --git a/spring-cloud-context-integration-tests/pom.xml b/spring-cloud-context-integration-tests/pom.xml
index 7e0d6a57..493399fa 100644
--- a/spring-cloud-context-integration-tests/pom.xml
+++ b/spring-cloud-context-integration-tests/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-context-integration-tests
diff --git a/spring-cloud-context-webflux-integration-tests/pom.xml b/spring-cloud-context-webflux-integration-tests/pom.xml
index 28663fd6..d699cc62 100644
--- a/spring-cloud-context-webflux-integration-tests/pom.xml
+++ b/spring-cloud-context-webflux-integration-tests/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-context-webflux-integration-tests
diff --git a/spring-cloud-context/pom.xml b/spring-cloud-context/pom.xml
index f548abe6..4acecb57 100644
--- a/spring-cloud-context/pom.xml
+++ b/spring-cloud-context/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-context
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshAutoConfiguration.java b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshAutoConfiguration.java
index e2004b5e..57e26fc0 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshAutoConfiguration.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/autoconfigure/RefreshAutoConfiguration.java
@@ -23,9 +23,6 @@ import java.util.Set;
import org.springframework.aop.scope.ScopedProxyUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
-import org.springframework.beans.factory.InitializingBean;
-import org.springframework.beans.factory.ListableBeanFactory;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanDefinitionHolder;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
@@ -53,11 +50,9 @@ import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
-import org.springframework.context.weaving.LoadTimeWeaverAware;
import org.springframework.core.env.Environment;
import org.springframework.core.env.StandardEnvironment;
import org.springframework.core.style.ToStringCreator;
-import org.springframework.instrument.classloading.LoadTimeWeaver;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
@@ -119,7 +114,7 @@ public class RefreshAutoConfiguration {
return new ConfigDataContextRefresher(context, scope, properties);
}
- @ConditionalOnProperty(value = "spring.cloud.refresh.on-restart.enabled", matchIfMissing = true)
+ @ConditionalOnProperty(value = REFRESH_SCOPE_PREFIX + ".on-restart.enabled", matchIfMissing = true)
@Bean
RefreshScopeLifecycle refreshScopeLifecycle(ContextRefresher contextRefresher) {
return new RefreshScopeLifecycle(contextRefresher);
@@ -158,27 +153,6 @@ public class RefreshAutoConfiguration {
}
- @Configuration(proxyBeanMethods = false)
- @ConditionalOnClass(name = "javax.persistence.EntityManagerFactory")
- protected static class JpaInvokerConfiguration implements LoadTimeWeaverAware, InitializingBean {
-
- @Autowired
- private ListableBeanFactory beanFactory;
-
- @Override
- public void afterPropertiesSet() {
- String cls = "org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker";
- if (this.beanFactory.containsBean(cls)) {
- this.beanFactory.getBean(cls);
- }
- }
-
- @Override
- public void setLoadTimeWeaver(LoadTimeWeaver ltw) {
- }
-
- }
-
@Component
protected static class RefreshScopeBeanDefinitionEnhancer
implements BeanDefinitionRegistryPostProcessor, EnvironmentAware {
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ConfigDataContextRefresher.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ConfigDataContextRefresher.java
index 4a5d813e..aa61373d 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ConfigDataContextRefresher.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ConfigDataContextRefresher.java
@@ -92,9 +92,6 @@ public class ConfigDataContextRefresher extends ContextRefresher
postProcessor.postProcessEnvironment(environment, application);
}
- if (environment.getPropertySources().contains(REFRESH_ARGS_PROPERTY_SOURCE)) {
- environment.getPropertySources().remove(REFRESH_ARGS_PROPERTY_SOURCE);
- }
MutablePropertySources target = getContext().getEnvironment().getPropertySources();
String targetName = null;
for (PropertySource> source : environment.getPropertySources()) {
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ContextRefresher.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ContextRefresher.java
index 98149392..54991a87 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ContextRefresher.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/ContextRefresher.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2012-2020 the original author or authors.
+ * Copyright 2012-2025 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.
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import org.apache.commons.logging.Log;
@@ -50,8 +51,6 @@ public abstract class ContextRefresher {
protected final Log logger = LogFactory.getLog(getClass());
- protected static final String REFRESH_ARGS_PROPERTY_SOURCE = "refreshArgs";
-
protected static final String[] DEFAULT_PROPERTY_SOURCES = new String[] {
// order matters, if cli args aren't first, things get messy
CommandLinePropertySource.COMMAND_LINE_PROPERTY_SOURCE_NAME, "defaultProperties" };
@@ -139,7 +138,7 @@ public abstract class ContextRefresher {
if (!after.containsKey(key)) {
result.put(key, null);
}
- else if (!equal(before.get(key), after.get(key))) {
+ else if (!Objects.equals(before.get(key), after.get(key))) {
result.put(key, after.get(key));
}
}
@@ -151,16 +150,6 @@ public abstract class ContextRefresher {
return result;
}
- private boolean equal(Object one, Object two) {
- if (one == null && two == null) {
- return true;
- }
- if (one == null || two == null) {
- return false;
- }
- return one.equals(two);
- }
-
private Map extract(MutablePropertySources propertySources) {
Map result = new HashMap<>();
List> sources = new ArrayList<>();
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/LegacyContextRefresher.java b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/LegacyContextRefresher.java
index 5a30aadf..fe5fa4b9 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/LegacyContextRefresher.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/context/refresh/LegacyContextRefresher.java
@@ -41,6 +41,8 @@ import static org.springframework.cloud.util.PropertyUtils.BOOTSTRAP_ENABLED_PRO
*/
public class LegacyContextRefresher extends ContextRefresher {
+ private static final String REFRESH_ARGS_PROPERTY_SOURCE = "refreshArgs";
+
@Deprecated
public LegacyContextRefresher(ConfigurableApplicationContext context, RefreshScope scope) {
super(context, scope);
diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/util/PropertyUtils.java b/spring-cloud-context/src/main/java/org/springframework/cloud/util/PropertyUtils.java
index 0150d2ad..fca2231c 100644
--- a/spring-cloud-context/src/main/java/org/springframework/cloud/util/PropertyUtils.java
+++ b/spring-cloud-context/src/main/java/org/springframework/cloud/util/PropertyUtils.java
@@ -42,7 +42,7 @@ public abstract class PropertyUtils {
public static final boolean MARKER_CLASS_EXISTS = ClassUtils.isPresent(MARKER_CLASS, null);
private PropertyUtils() {
- throw new UnsupportedOperationException("unable to instatiate utils class");
+ throw new UnsupportedOperationException("unable to instantiate utils class");
}
public static boolean bootstrapEnabled(Environment environment) {
diff --git a/spring-cloud-loadbalancer/pom.xml b/spring-cloud-loadbalancer/pom.xml
index bd451a1f..a21af32a 100644
--- a/spring-cloud-loadbalancer/pom.xml
+++ b/spring-cloud-loadbalancer/pom.xml
@@ -6,7 +6,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-loadbalancer
diff --git a/spring-cloud-starter-bootstrap/pom.xml b/spring-cloud-starter-bootstrap/pom.xml
index 39950c27..bf1e7806 100644
--- a/spring-cloud-starter-bootstrap/pom.xml
+++ b/spring-cloud-starter-bootstrap/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
jar
diff --git a/spring-cloud-starter-loadbalancer/pom.xml b/spring-cloud-starter-loadbalancer/pom.xml
index aa677963..5358f053 100644
--- a/spring-cloud-starter-loadbalancer/pom.xml
+++ b/spring-cloud-starter-loadbalancer/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
4.0.0
diff --git a/spring-cloud-starter/pom.xml b/spring-cloud-starter/pom.xml
index 670937b7..714c0bce 100644
--- a/spring-cloud-starter/pom.xml
+++ b/spring-cloud-starter/pom.xml
@@ -6,7 +6,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
spring-cloud-starter
spring-cloud-starter
diff --git a/spring-cloud-test-support/pom.xml b/spring-cloud-test-support/pom.xml
index d2b9b7b3..81fd19b5 100644
--- a/spring-cloud-test-support/pom.xml
+++ b/spring-cloud-test-support/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-commons-parent
- 4.1.5-SNAPSHOT
+ 4.1.6-SNAPSHOT
..
spring-cloud-test-support
@@ -84,17 +84,6 @@
org.hibernate.validator
hibernate-validator
test
-
-
- javax.validation
- validation-api
-
-
-
-
- jakarta.validation
- jakarta.validation-api
- test