名称为'triage'的bean定义无效;@Bean定义被现有的bean定义非法覆盖:

4

ServiceConfiguration.class 中,我有两个 RestTemplates

@Configuration
public class ServiceConfiguration {

    @Bean(name = "dms")
    public static RestTemplate defaultDmsRestTemplate() throws URISyntaxException {

            return RestTemplateBuilder.builder().withProxy().build(dmsProxyUrl, "", "");
    }

    @Bean(name = "triage")
    public static RestTemplate defaultTriageRestTemplate() throws URISyntaxException {
            return RestTemplateBuilder.builder().withProxy().withCookies(true).build(triageProxyUrl, proxyUsername,
                    proxyPassword);

    }
}

他们在注入时声明了他们的名称 @Qualifiers
@Service
public class ClientService {

    @Autowired
    @Qualifier("triage")
    private RestTemplate triageRestTemplate;

   @Autowired
    @Qualifier("dms")
    private RestTemplate dmsRestTemplate;

}

但是在应用程序初始化过程中,我遇到了错误:

org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'triage' defined in class path resource [de/triage/configurations/ServiceConfiguration.class]: @Bean definition illegally overridden by existing bean definition: Generic bean: class [de.triage.Triage]; scope=singleton; abstract=false; lazyInit=null; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.isOverriddenByExistingDefinition(ConfigurationClassBeanDefinitionReader.java:329) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:205) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:144) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:236) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:280) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:96) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:707) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:533) ~[spring-context-5.2.12.RELEASE.jar:5.2.12.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.7.RELEASE.jar:2.3.7.RELEASE]

我不太清楚如何处理这个问题。我也无法启用覆盖。

1个回答

2
从错误信息来看,似乎在类名de.triage.Triage后面有另一个名为triage的bean存在冲突。尝试给该bean取一个不同的名字。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接