diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml
index 4eb6e07437..0c2a0fe519 100644
--- a/dubbo-dependencies-bom/pom.xml
+++ b/dubbo-dependencies-bom/pom.xml
@@ -95,7 +95,7 @@
3.29.2-GA
1.14.9
3.2.10.Final
- 4.1.100.Final
+ 4.1.101.Final
2.2.1
2.4.4
4.5.14
diff --git a/dubbo-distribution/pom.xml b/dubbo-distribution/pom.xml
index ac8f517f98..7b84379e07 100644
--- a/dubbo-distribution/pom.xml
+++ b/dubbo-distribution/pom.xml
@@ -48,7 +48,7 @@
dubbo-all
- [8,)
+ [1.7,)
dubbo-all
diff --git a/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAnnotationAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAnnotationAutoConfiguration.java
index bad49280ba..93ff379073 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAnnotationAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAnnotationAutoConfiguration.java
@@ -27,10 +27,13 @@ import org.apache.dubbo.spring.boot.actuate.endpoint.condition.CompatibleConditi
import org.springframework.boot.actuate.autoconfigure.endpoint.condition.ConditionalOnAvailableEndpoint;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* Dubbo {@link Endpoint @Endpoint} Auto-{@link Configuration} for Spring Boot Actuator 2.0
*
@@ -38,6 +41,7 @@ import org.springframework.context.annotation.PropertySource;
* @see Configuration
* @since 2.7.0
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration
@PropertySource(
name = "Dubbo Endpoints Default Properties",
diff --git a/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboMetricsAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboMetricsAutoConfiguration.java
index 88b05d4ef0..ee518190d3 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboMetricsAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboMetricsAutoConfiguration.java
@@ -23,10 +23,14 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegi
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication
@AutoConfigureAfter(CompositeMeterRegistryAutoConfiguration.class)
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAutoConfiguration.java
index 0357b000bb..035bd6e27e 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointAutoConfiguration.java
@@ -25,15 +25,19 @@ import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* Dubbo {@link Endpoint} Auto Configuration is compatible with Spring Boot Actuator 1.x
*
* @since 2.7.0
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@Configuration
@ConditionalOnClass(
name = {"org.springframework.boot.actuate.endpoint.Endpoint" // Spring Boot 1.x
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointMetadataAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointMetadataAutoConfiguration.java
index 32c0bd003d..a4b2a101ba 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointMetadataAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboEndpointMetadataAutoConfiguration.java
@@ -20,12 +20,16 @@ import org.apache.dubbo.spring.boot.actuate.endpoint.metadata.AbstractDubboMetad
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* Dubbo Endpoints Metadata Auto-{@link Configuration}
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@ConditionalOnClass(
name = {"org.springframework.boot.actuate.health.Health" // If spring-boot-actuator is present
})
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboHealthIndicatorAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboHealthIndicatorAutoConfiguration.java
index ed02987552..50d31bc00a 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboHealthIndicatorAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/actuator/src/main/java/org/apache/dubbo/spring/boot/actuate/autoconfigure/DubboHealthIndicatorAutoConfiguration.java
@@ -35,7 +35,10 @@ import org.springframework.context.annotation.Configuration;
*/
@Configuration
@ConditionalOnClass(name = {"org.springframework.boot.actuate.health.Health"})
-@ConditionalOnProperty(name = "management.health.dubbo.enabled", matchIfMissing = true, havingValue = "true")
+@ConditionalOnProperty(
+ name = {"management.health.dubbo.enabled", "dubbo.enabled"},
+ matchIfMissing = true,
+ havingValue = "true")
@EnableConfigurationProperties(DubboHealthIndicatorProperties.class)
public class DubboHealthIndicatorAutoConfiguration {
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnMultipleConfigTest.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnMultipleConfigTest.java
index 147e2576ae..4bbd80c618 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnMultipleConfigTest.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnMultipleConfigTest.java
@@ -25,41 +25,33 @@ import org.apache.dubbo.config.ProviderConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.bootstrap.DubboBootstrap;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.ApplicationContext;
-import org.springframework.core.env.Environment;
+import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
-import static org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors;
-
/**
* {@link DubboAutoConfiguration} Test On multiple Dubbo Configuration
*
* @since 2.7.0
*/
-@Ignore
@RunWith(SpringRunner.class)
@TestPropertySource(
properties = {
- "dubbo.applications.application1.NAME = dubbo-demo-application",
- "dubbo.modules.module1.name = dubbo-demo-module",
- "dubbo.registries.registry1.address = zookeeper://192.168.99.100:32770",
+ "dubbo.applications.application1.name=dubbo-demo-multi-application",
+ "dubbo.modules.module1.name=dubbo-demo-module",
+ "dubbo.registries.registry1.address=test://192.168.99.100:32770",
"dubbo.protocols.protocol1.name=dubbo",
- "dubbo.protocols.protocol1.pORt=20880",
- "dubbo.monitors.monitor1.Address=zookeeper://127.0.0.1:32770",
+ "dubbo.protocols.protocol1.port=20880",
+ "dubbo.monitors.monitor1.address=test://127.0.0.1:32770",
"dubbo.providers.provider1.host=127.0.0.1",
"dubbo.consumers.consumer1.client=netty",
"dubbo.config.multiple=true",
@@ -67,62 +59,39 @@ import static org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncl
})
@SpringBootTest(classes = {DubboAutoConfigurationOnMultipleConfigTest.class})
@EnableAutoConfiguration
+@ComponentScan
public class DubboAutoConfigurationOnMultipleConfigTest {
- @Autowired
- private Environment environment;
-
- @Autowired
- private ApplicationContext applicationContext;
-
/**
- * {@link ApplicationConfig}
+ * @see TestBeansConfiguration
*/
@Autowired
@Qualifier("application1")
- private ApplicationConfig application;
+ ApplicationConfig application;
- /**
- * {@link ModuleConfig}
- */
@Autowired
@Qualifier("module1")
- private ModuleConfig module;
+ ModuleConfig module;
- /**
- * {@link RegistryConfig}
- */
@Autowired
@Qualifier("registry1")
- private RegistryConfig registry;
+ RegistryConfig registry;
- /**
- * {@link ProtocolConfig}
- */
- @Autowired
- @Qualifier("protocol1")
- private ProtocolConfig protocol;
-
- /**
- * {@link MonitorConfig}
- */
@Autowired
@Qualifier("monitor1")
- private MonitorConfig monitor;
+ MonitorConfig monitor;
- /**
- * {@link ProviderConfig}
- */
@Autowired
- @Qualifier("provider1")
- private ProviderConfig provider;
+ @Qualifier("protocol1")
+ ProtocolConfig protocol;
- /**
- * {@link ConsumerConfig}
- */
@Autowired
@Qualifier("consumer1")
- private ConsumerConfig consumer;
+ ConsumerConfig consumer;
+
+ @Autowired
+ @Qualifier("provider1")
+ ProviderConfig provider;
@Before
public void init() {
@@ -134,134 +103,24 @@ public class DubboAutoConfigurationOnMultipleConfigTest {
DubboBootstrap.reset();
}
- @Autowired
- private Map applications = new LinkedHashMap<>();
-
- @Autowired
- private Map modules = new LinkedHashMap<>();
-
- @Autowired
- private Map registries = new LinkedHashMap<>();
-
- @Autowired
- private Map protocols = new LinkedHashMap<>();
-
- @Autowired
- private Map monitors = new LinkedHashMap<>();
-
- @Autowired
- private Map providers = new LinkedHashMap<>();
-
- @Autowired
- private Map consumers = new LinkedHashMap<>();
-
@Test
- public void testMultipleDubboConfigBindingProperties() {
-
- Assert.assertEquals(1, applications.size());
-
- Assert.assertEquals(1, modules.size());
-
- Assert.assertEquals(1, registries.size());
-
- Assert.assertEquals(1, protocols.size());
-
- Assert.assertEquals(1, monitors.size());
-
- Assert.assertEquals(1, providers.size());
-
- Assert.assertEquals(1, consumers.size());
- }
-
- @Test
- public void testApplicationContext() {
-
- /**
- * Multiple {@link ApplicationConfig}
- */
- Map applications =
- beansOfTypeIncludingAncestors(applicationContext, ApplicationConfig.class);
-
- Assert.assertEquals(1, applications.size());
-
- /**
- * Multiple {@link ModuleConfig}
- */
- Map modules = beansOfTypeIncludingAncestors(applicationContext, ModuleConfig.class);
-
- Assert.assertEquals(1, modules.size());
-
- /**
- * Multiple {@link RegistryConfig}
- */
- Map registries =
- beansOfTypeIncludingAncestors(applicationContext, RegistryConfig.class);
-
- Assert.assertEquals(1, registries.size());
-
- /**
- * Multiple {@link ProtocolConfig}
- */
- Map protocols = beansOfTypeIncludingAncestors(applicationContext, ProtocolConfig.class);
-
- Assert.assertEquals(1, protocols.size());
-
- /**
- * Multiple {@link MonitorConfig}
- */
- Map monitors = beansOfTypeIncludingAncestors(applicationContext, MonitorConfig.class);
-
- Assert.assertEquals(1, monitors.size());
-
- /**
- * Multiple {@link ProviderConfig}
- */
- Map providers = beansOfTypeIncludingAncestors(applicationContext, ProviderConfig.class);
-
- Assert.assertEquals(1, providers.size());
-
- /**
- * Multiple {@link ConsumerConfig}
- */
- Map consumers = beansOfTypeIncludingAncestors(applicationContext, ConsumerConfig.class);
-
- Assert.assertEquals(1, consumers.size());
- }
-
- @Test
- public void testApplicationConfig() {
-
- Assert.assertEquals("dubbo-demo-application", application.getName());
- }
-
- @Test
- public void testModuleConfig() {
-
+ public void testMultiConfig() {
+ // application
+ Assert.assertEquals("dubbo-demo-multi-application", application.getName());
+ // module
Assert.assertEquals("dubbo-demo-module", module.getName());
- }
-
- @Test
- public void testRegistryConfig() {
-
- Assert.assertEquals("zookeeper://192.168.99.100:32770", registry.getAddress());
- }
-
- @Test
- public void testMonitorConfig() {
-
- Assert.assertEquals("zookeeper://127.0.0.1:32770", monitor.getAddress());
- }
-
- @Test
- public void testProtocolConfig() {
-
+ // registry
+ Assert.assertEquals("test://192.168.99.100:32770", registry.getAddress());
+ Assert.assertEquals("test", registry.getProtocol());
+ Assert.assertEquals(Integer.valueOf(32770), registry.getPort());
+ // monitor
+ Assert.assertEquals("test://127.0.0.1:32770", monitor.getAddress());
+ // protocol
Assert.assertEquals("dubbo", protocol.getName());
Assert.assertEquals(Integer.valueOf(20880), protocol.getPort());
- }
-
- @Test
- public void testConsumerConfig() {
-
+ // consumer
Assert.assertEquals("netty", consumer.getClient());
+ // provider
+ Assert.assertEquals("127.0.0.1", provider.getHost());
}
}
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnSingleConfigTest.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnSingleConfigTest.java
index 2cfc203543..214b0cec7f 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnSingleConfigTest.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfigurationOnSingleConfigTest.java
@@ -28,14 +28,12 @@ import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.ApplicationContext;
-import org.springframework.core.env.Environment;
+import org.springframework.context.annotation.ComponentScan;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringRunner;
@@ -44,21 +42,21 @@ import org.springframework.test.context.junit4.SpringRunner;
*
* @since 2.7.0
*/
-@Ignore
@RunWith(SpringRunner.class)
@TestPropertySource(
properties = {
- "dubbo.application.name = dubbo-demo-application",
+ "dubbo.application.name = dubbo-demo-single-application",
"dubbo.module.name = dubbo-demo-module",
- "dubbo.registry.address = zookeeper://192.168.99.100:32770",
+ "dubbo.registry.address = test://192.168.99.100:32770",
"dubbo.protocol.name=dubbo",
"dubbo.protocol.port=20880",
- "dubbo.monitor.address=zookeeper://127.0.0.1:32770",
+ "dubbo.monitor.address=test://127.0.0.1:32770",
"dubbo.provider.host=127.0.0.1",
"dubbo.consumer.client=netty"
})
@SpringBootTest(classes = {DubboAutoConfigurationOnSingleConfigTest.class})
@EnableAutoConfiguration
+@ComponentScan
public class DubboAutoConfigurationOnSingleConfigTest {
@Autowired
@@ -82,12 +80,6 @@ public class DubboAutoConfigurationOnSingleConfigTest {
@Autowired
private ProtocolConfig protocolConfig;
- @Autowired
- private Environment environment;
-
- @Autowired
- private ApplicationContext applicationContext;
-
@Before
public void init() {
DubboBootstrap.reset();
@@ -99,45 +91,21 @@ public class DubboAutoConfigurationOnSingleConfigTest {
}
@Test
- public void testApplicationConfig() {
-
- Assert.assertEquals("dubbo-demo-application", applicationConfig.getName());
- }
-
- @Test
- public void testModuleConfig() {
-
+ public void testSingleConfig() {
+ // application
+ Assert.assertEquals("dubbo-demo-single-application", applicationConfig.getName());
+ // module
Assert.assertEquals("dubbo-demo-module", moduleConfig.getName());
- }
-
- @Test
- public void testRegistryConfig() {
-
- Assert.assertEquals("zookeeper://192.168.99.100:32770", registryConfig.getAddress());
- }
-
- @Test
- public void testMonitorConfig() {
-
- Assert.assertEquals("zookeeper://127.0.0.1:32770", monitorConfig.getAddress());
- }
-
- @Test
- public void testProtocolConfig() {
-
+ // registry
+ Assert.assertEquals("test://192.168.99.100:32770", registryConfig.getAddress());
+ // monitor
+ Assert.assertEquals("test://127.0.0.1:32770", monitorConfig.getAddress());
+ // protocol
Assert.assertEquals("dubbo", protocolConfig.getName());
Assert.assertEquals(Integer.valueOf(20880), protocolConfig.getPort());
- }
-
- @Test
- public void testProviderConfig() {
-
+ // consumer
+ Assert.assertEquals("netty", consumerConfig.getClient());
+ // provider
Assert.assertEquals("127.0.0.1", providerConfig.getHost());
}
-
- @Test
- public void testConsumerConfig() {
-
- Assert.assertEquals("netty", consumerConfig.getClient());
- }
}
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/TestBeansConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/TestBeansConfiguration.java
new file mode 100644
index 0000000000..d51a9142c7
--- /dev/null
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/autoconfigure/TestBeansConfiguration.java
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.dubbo.spring.boot.autoconfigure;
+
+import org.apache.dubbo.config.ApplicationConfig;
+import org.apache.dubbo.config.ConsumerConfig;
+import org.apache.dubbo.config.ModuleConfig;
+import org.apache.dubbo.config.MonitorConfig;
+import org.apache.dubbo.config.ProtocolConfig;
+import org.apache.dubbo.config.ProviderConfig;
+import org.apache.dubbo.config.RegistryConfig;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class TestBeansConfiguration {
+
+ @Bean
+ ApplicationConfig application1() {
+ ApplicationConfig config = new ApplicationConfig();
+ config.setId("application1");
+ return config;
+ }
+
+ @Bean
+ ModuleConfig module1() {
+ ModuleConfig config = new ModuleConfig();
+ config.setId("module1");
+ return config;
+ }
+
+ @Bean
+ RegistryConfig registry1() {
+ RegistryConfig config = new RegistryConfig();
+ config.setId("registry1");
+ return config;
+ }
+
+ @Bean
+ MonitorConfig monitor1() {
+ MonitorConfig config = new MonitorConfig();
+ config.setId("monitor1");
+ return config;
+ }
+
+ @Bean
+ ProtocolConfig protocol1() {
+ ProtocolConfig config = new ProtocolConfig();
+ config.setId("protocol1");
+ return config;
+ }
+
+ @Bean
+ ConsumerConfig consumer1() {
+ ConsumerConfig config = new ConsumerConfig();
+ config.setId("consumer1");
+ return config;
+ }
+
+ @Bean
+ ProviderConfig provider1() {
+ ProviderConfig config = new ProviderConfig();
+ config.setId("provider1");
+ return config;
+ }
+}
diff --git a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/context/event/AwaitingNonWebApplicationListenerTest.java b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/context/event/AwaitingNonWebApplicationListenerTest.java
index 6e4823ce1c..26132270d0 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/context/event/AwaitingNonWebApplicationListenerTest.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/test/java/org/apache/dubbo/spring/boot/context/event/AwaitingNonWebApplicationListenerTest.java
@@ -20,10 +20,12 @@ import org.apache.dubbo.config.bootstrap.DubboBootstrap;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
/**
* {@link AwaitingNonWebApplicationListener} Test
*/
+@Ignore
public class AwaitingNonWebApplicationListenerTest {
@Before
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboMicrometerTracingAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboMicrometerTracingAutoConfiguration.java
index f864906d31..691dea9d9d 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboMicrometerTracingAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboMicrometerTracingAutoConfiguration.java
@@ -22,13 +22,17 @@ import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.core.annotation.Order;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* copy from {@link org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConfiguration}
* this class is available starting from Boot 3.0. It's not available if you're using Boot < 3.0
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@ConditionalOnDubboTracingEnable
@ConditionalOnClass(
name = {
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboObservationAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboObservationAutoConfiguration.java
index a2524e9e01..d7014b64a8 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboObservationAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/DubboObservationAutoConfiguration.java
@@ -36,15 +36,19 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* Register observationRegistry to ApplicationModel.
* Create observationRegistry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration(
after = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration")
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/brave/BraveAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/brave/BraveAutoConfiguration.java
index a2083b7679..99ffc78136 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/brave/BraveAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/brave/BraveAutoConfiguration.java
@@ -37,9 +37,12 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* provider Brave when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration(
before = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration")
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/otlp/OtlpAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/otlp/OtlpAutoConfiguration.java
index dd55dbe2f4..c5b79a6bea 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/otlp/OtlpAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/otlp/OtlpAutoConfiguration.java
@@ -35,10 +35,12 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean;
import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_OTLP_CONFIG_PREFIX;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/**
* @since 3.2.2
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration
@ConditionalOnClass({OtelTracer.class, SdkTracerProvider.class, OpenTelemetry.class, OtlpGrpcSpanExporter.class})
@ConditionalOnDubboTracingEnable
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/zipkin/ZipkinAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/zipkin/ZipkinAutoConfiguration.java
index 7e37ade6b3..d4dfdf54fc 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/zipkin/ZipkinAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/exporter/zipkin/ZipkinAutoConfiguration.java
@@ -36,6 +36,7 @@ import zipkin2.codec.SpanBytesEncoder;
import zipkin2.reporter.Sender;
import static org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils.DUBBO_TRACING_ZIPKIN_CONFIG_PREFIX;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Zipkin.
@@ -46,6 +47,7 @@ import static org.apache.dubbo.spring.boot.observability.autoconfigure.Observabi
*
* @since 3.2.1
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration(
after = RestTemplateAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.zipkin")
diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java
index 25e80abf26..3d9520e115 100644
--- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java
+++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java
@@ -36,9 +36,12 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX;
+
/**
* provider OpenTelemetry when you are using Boot <3.0 or you are not using spring-boot-starter-actuator
*/
+@ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true)
@AutoConfiguration(
before = DubboMicrometerTracingAutoConfiguration.class,
afterName = "org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration")