diff --git a/pom.xml b/pom.xml
index 86d4c1dd8..a531de8bd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,7 +37,7 @@
SOFABoot Build
- 3.21.0
+ 3.22.0-SNAPSHOT
${revision}
1.6.7
diff --git a/sofa-boot-project/sofa-boot-core/healthcheck-sofa-boot/src/main/java/com/alipay/sofa/healthcheck/ReadinessCheckListener.java b/sofa-boot-project/sofa-boot-core/healthcheck-sofa-boot/src/main/java/com/alipay/sofa/healthcheck/ReadinessCheckListener.java
index 8b5c86a14..8efd79618 100644
--- a/sofa-boot-project/sofa-boot-core/healthcheck-sofa-boot/src/main/java/com/alipay/sofa/healthcheck/ReadinessCheckListener.java
+++ b/sofa-boot-project/sofa-boot-core/healthcheck-sofa-boot/src/main/java/com/alipay/sofa/healthcheck/ReadinessCheckListener.java
@@ -40,6 +40,7 @@
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
@@ -71,11 +72,11 @@ public class ReadinessCheckListener implements ApplicationContextAware, Ordered,
private boolean healthCheckerStatus = true;
- private Map healthCheckerDetails = new HashMap<>();
+ private Map healthCheckerDetails = new ConcurrentHashMap<>();
private boolean healthIndicatorStatus = true;
- private Map healthIndicatorDetails = new HashMap<>();
+ private Map healthIndicatorDetails = new ConcurrentHashMap<>();
private boolean healthCallbackStatus = true;
private boolean readinessCheckFinish = false;
diff --git a/sofa-boot-project/sofa-boot-core/startup-sofa-boot/src/main/java/com/alipay/sofa/startup/StartupReporter.java b/sofa-boot-project/sofa-boot-core/startup-sofa-boot/src/main/java/com/alipay/sofa/startup/StartupReporter.java
index 6b8fcee80..357115845 100644
--- a/sofa-boot-project/sofa-boot-core/startup-sofa-boot/src/main/java/com/alipay/sofa/startup/StartupReporter.java
+++ b/sofa-boot-project/sofa-boot-core/startup-sofa-boot/src/main/java/com/alipay/sofa/startup/StartupReporter.java
@@ -52,15 +52,23 @@ public class StartupReporter {
public static final String SPRING_CONTEXT_BEAN_FACTORY_POST_PROCESSOR = "spring.context.bean-factory.post-process";
+ public static final String SPRING_BEAN_POST_PROCESSOR = "spring.context.beans.post-process";
+
+ public static final String SPRING_CONFIG_CLASSES_ENHANCE = "spring.context.config-classes.enhance";
+
public static final Collection SPRING_BEAN_INSTANTIATE_TYPES = new HashSet<>();
public static final Collection SPRING_CONTEXT_POST_PROCESSOR_TYPES = new HashSet<>();
+ public static final Collection SPRING_CONFIG_CLASSES_ENHANCE_TYPES = new HashSet<>();
+
static {
SPRING_BEAN_INSTANTIATE_TYPES.add(SPRING_BEANS_INSTANTIATE);
SPRING_BEAN_INSTANTIATE_TYPES.add(SPRING_BEANS_SMART_INSTANTIATE);
SPRING_CONTEXT_POST_PROCESSOR_TYPES.add(SPRING_CONTEXT_BEANDEF_REGISTRY_POST_PROCESSOR);
SPRING_CONTEXT_POST_PROCESSOR_TYPES.add(SPRING_CONTEXT_BEAN_FACTORY_POST_PROCESSOR);
+ SPRING_CONFIG_CLASSES_ENHANCE_TYPES.add(SPRING_CONFIG_CLASSES_ENHANCE);
+ SPRING_CONFIG_CLASSES_ENHANCE_TYPES.add(SPRING_BEAN_POST_PROCESSOR);
}
private final StartupStaticsModel startupStaticsModel = new StartupStaticsModel();
@@ -175,7 +183,9 @@ public List generateBeanStats(ConfigurableApplicationContext context)
private boolean filterBeanInitializeByCost(BeanStat beanStat) {
String name = beanStat.getBeanType();
- if (SPRING_BEAN_INSTANTIATE_TYPES.contains(name)) {
+ if (SPRING_BEAN_INSTANTIATE_TYPES.contains(name)
+ || SPRING_CONTEXT_POST_PROCESSOR_TYPES.contains(name)
+ || SPRING_CONFIG_CLASSES_ENHANCE_TYPES.contains(name)) {
return beanStat.getCost() >= beanInitCostThreshold;
} else {
return true;
diff --git a/sofa-boot-project/sofa-boot/src/main/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreator.java b/sofa-boot-project/sofa-boot/src/main/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreator.java
index cc8f1f8ec..7c2ee76a2 100644
--- a/sofa-boot-project/sofa-boot/src/main/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreator.java
+++ b/sofa-boot-project/sofa-boot/src/main/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreator.java
@@ -20,6 +20,7 @@
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.PatternMatchUtils;
+import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
@@ -51,7 +52,7 @@ public void setExcludeBeanNames(String... beanNames) {
Assert.notEmpty(beanNames, "'excludeBeanNames' must not be empty");
this.excludeBeanNames = new ArrayList<>(beanNames.length);
for (String mappedName : beanNames) {
- this.excludeBeanNames.add(mappedName.strip());
+ this.excludeBeanNames.add(StringUtils.trimWhitespace(mappedName));
}
}
diff --git a/sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTests.java b/sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTest.java
similarity index 97%
rename from sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTests.java
rename to sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTest.java
index ba9fd9fd9..083e0aa20 100644
--- a/sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTests.java
+++ b/sofa-boot-project/sofa-boot/src/test/java/com/alipay/sofa/boot/aop/framework/autoproxy/ExcludeBeanNameAutoProxyCreatorTest.java
@@ -18,7 +18,7 @@
import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
-import org.junit.jupiter.api.Test;
+import org.junit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -34,7 +34,7 @@
* @author huzijie
* @version ExcludeBeanNameAutoProxyCreatorTests.java, v 0.1 2024年01月04日 4:36 PM huzijie Exp $
*/
-public class ExcludeBeanNameAutoProxyCreatorTests {
+public class ExcludeBeanNameAutoProxyCreatorTest {
@Test
public void excludeBeanNames() {