This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git
The following commit(s) were added to refs/heads/master by this push:
new a6112675a [SCB-2785]support spring boot auto configure and remove
component scan (#3682)
a6112675a is described below
commit a6112675a1b6c70f28d7723a953b1592704da92d
Author: liubao68 <[email protected]>
AuthorDate: Mon Feb 27 16:56:35 2023 +0800
[SCB-2785]support spring boot auto configure and remove component scan
(#3682)
---
.../provider/pojo/PojoConsumerProvider.java | 2 --
...rovider.java => ProviderPojoConfiguration.java} | 27 ++++++++++++++--------
.../pojo/reference/RpcReferenceProcessor.java | 2 --
.../provider/pojo/schema/PojoProducers.java | 2 --
.../src/main/resources/META-INF/spring.factories | 18 +++++++++++++++
...r.java => ProviderRestCommonConfiguration.java} | 21 +++++++++--------
.../provider/rest/common/RestConsumerProvider.java | 2 --
.../provider/rest/common/RestProducers.java | 2 --
.../src/main/resources/META-INF/spring.factories | 18 +++++++++++++++
9 files changed, 66 insertions(+), 28 deletions(-)
diff --git
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
index 86c23304b..f3bae5b0c 100644
---
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
+++
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
@@ -20,9 +20,7 @@ package org.apache.servicecomb.provider.pojo;
import static org.apache.servicecomb.provider.pojo.PojoConst.POJO;
import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
-@Component
public class PojoConsumerProvider extends AbstractConsumerProvider {
@Override
public String getName() {
diff --git
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
similarity index 58%
copy from
providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
copy to
providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
index 86c23304b..14f91542f 100644
---
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/PojoConsumerProvider.java
+++
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/ProviderPojoConfiguration.java
@@ -14,18 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.servicecomb.provider.pojo;
-import static org.apache.servicecomb.provider.pojo.PojoConst.POJO;
+import org.apache.servicecomb.provider.pojo.reference.RpcReferenceProcessor;
+import org.apache.servicecomb.provider.pojo.schema.PojoProducers;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class ProviderPojoConfiguration {
+ @Bean
+ public PojoConsumerProvider pojoConsumerProvider() {
+ return new PojoConsumerProvider();
+ }
-import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
+ @Bean
+ public RpcReferenceProcessor rpcReferenceProcessor() {
+ return new RpcReferenceProcessor();
+ }
-@Component
-public class PojoConsumerProvider extends AbstractConsumerProvider {
- @Override
- public String getName() {
- return POJO;
+ @Bean
+ public PojoProducers pojoProducers() {
+ return new PojoProducers();
}
}
diff --git
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
index 0663ac001..d986194e7 100644
---
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
+++
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/reference/RpcReferenceProcessor.java
@@ -24,11 +24,9 @@ import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanCreationException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.EmbeddedValueResolverAware;
-import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
import org.springframework.util.StringValueResolver;
-@Component
public class RpcReferenceProcessor implements BeanPostProcessor,
EmbeddedValueResolverAware {
private StringValueResolver resolver;
diff --git
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
index a8791098f..a6a5a818f 100644
---
a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
+++
b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
@@ -25,9 +25,7 @@ import
org.apache.servicecomb.foundation.common.utils.BeanUtils;
import org.apache.servicecomb.provider.pojo.RpcSchema;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.stereotype.Component;
-@Component
public class PojoProducers implements BeanPostProcessor {
private final List<ProducerMeta> producerMetas = new ArrayList<>();
diff --git
a/providers/provider-pojo/src/main/resources/META-INF/spring.factories
b/providers/provider-pojo/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..49f70b76c
--- /dev/null
+++ b/providers/provider-pojo/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+ org.apache.servicecomb.provider.pojo.ProviderPojoConfiguration
diff --git
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
similarity index 70%
copy from
providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
copy to
providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
index f87b6816f..7f613d10f 100644
---
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
+++
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/ProviderRestCommonConfiguration.java
@@ -14,17 +14,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-
package org.apache.servicecomb.provider.rest.common;
-import org.apache.servicecomb.common.rest.RestConst;
-import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class ProviderRestCommonConfiguration {
+ @Bean
+ public RestProducers restProducers() {
+ return new RestProducers();
+ }
-@Component
-public class RestConsumerProvider extends AbstractConsumerProvider {
- @Override
- public String getName() {
- return RestConst.REST;
+ @Bean
+ public RestConsumerProvider restConsumerProvider() {
+ return new RestConsumerProvider();
}
}
diff --git
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
index f87b6816f..31877baf4 100644
---
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
+++
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestConsumerProvider.java
@@ -19,9 +19,7 @@ package org.apache.servicecomb.provider.rest.common;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.core.provider.consumer.AbstractConsumerProvider;
-import org.springframework.stereotype.Component;
-@Component
public class RestConsumerProvider extends AbstractConsumerProvider {
@Override
public String getName() {
diff --git
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
index 6511ee181..cf0f5fba3 100644
---
a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
+++
b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java
@@ -26,11 +26,9 @@ import
org.apache.servicecomb.foundation.common.utils.BeanUtils;
import org.apache.servicecomb.foundation.common.utils.ReflectUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
-import org.springframework.stereotype.Component;
import com.netflix.config.DynamicPropertyFactory;
-@Component
public class RestProducers implements BeanPostProcessor {
private final List<ProducerMeta> producerMetaList = new ArrayList<>();
diff --git
a/providers/provider-rest-common/src/main/resources/META-INF/spring.factories
b/providers/provider-rest-common/src/main/resources/META-INF/spring.factories
new file mode 100644
index 000000000..8de272565
--- /dev/null
+++
b/providers/provider-rest-common/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,18 @@
+#
+# 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.
+#
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+ org.apache.servicecomb.provider.rest.common.ProviderRestCommonConfiguration