The dependencies of some of the beans in the application context form a cycle:
targeterBeanPostProcessor defined in class path resource [com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.class]
↓
com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository (field private com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository.dubboMetadataConfigServiceProxy)
↓
com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy
┌─────┐
| com.alibaba.cloud.dubbo.autoconfigure.DubboMetadataAutoConfiguration (field private com.alibaba.cloud.dubbo.metadata.resolver.MetadataResolver com.alibaba.cloud.dubbo.autoconfigure.DubboMetadataAutoConfiguration.metadataResolver)
└─────┘
public class DubboMetadataAutoConfiguration{
@Autowired
private MetadataResolver metadataResolver;
@Bean
@ConditionalOnMissingBean
public MetadataResolver metadataJsonResolver(ObjectProvider<Contract> contract) {
return new DubboServiceBeanMetadataResolver(contract);
}
........
}
目前SCA 2021.0.1.0 对应适配的 Spring Boot 版本为 2.6.3 , 可 Spring Boot 版本为 2.6.0 版本后默认禁止循环依赖,对于spring-cloud-starter-dubbo-2021.0.1.0 中 DubboMetadataAutoConfiguration 任然存在循环依赖且还不只存在一处。查询资料后,采用Spring Boot 开启循环依赖支持的方式
spring.main.allow-circular-references=true
大家都是采用这个方法解决的吗?有什么更优雅的方式吗?
=============================================
At present, SCA 2021.0.1.0 corresponds to Spring Boot version 2.6.3, but circular dependencies are prohibited by default after Spring Boot version is 2.6.0. DubboMetadataAutoConfiguration still exists in spring-cloud-starter-dubbo-2021.0.1.0. Depends and not only exists in one place. After querying the data, use Spring Boot to enable circular dependency support
spring.main.allow-circular-references=true
Did everyone use this method to solve it? Is there any more elegant way?
spring-cloud-starter-dubbo-2021.0.1.0 DubboMetadataAutoConfiguration 循环依赖问题
目前SCA 2021.0.1.0 对应适配的 Spring Boot 版本为 2.6.3 , 可 Spring Boot 版本为 2.6.0 版本后默认禁止循环依赖,对于spring-cloud-starter-dubbo-2021.0.1.0 中 DubboMetadataAutoConfiguration 任然存在循环依赖且还不只存在一处。查询资料后,采用Spring Boot 开启循环依赖支持的方式
大家都是采用这个方法解决的吗?有什么更优雅的方式吗?
=============================================
At present, SCA 2021.0.1.0 corresponds to Spring Boot version 2.6.3, but circular dependencies are prohibited by default after Spring Boot version is 2.6.0. DubboMetadataAutoConfiguration still exists in spring-cloud-starter-dubbo-2021.0.1.0. Depends and not only exists in one place. After querying the data, use Spring Boot to enable circular dependency support
Did everyone use this method to solve it? Is there any more elegant way?