Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invalid bean definition with name 'triage'; @Bean definition illegally overridden by existing bean definition:

I have two RestTemplates in ServiceConfiguration.class:

@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);

    }
}

And on their injecting they have declared @Qualifiers with their names:

@Service
public class ClientService {

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

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

}

But I obtain error during app initialization:

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]

I don't really know how to handle this isuue. I can't also enable overriding.

like image 353
Janusz Januszewski Avatar asked Nov 05 '25 18:11

Janusz Januszewski


1 Answers

From the error message, it seems there is a conflict with another bean named triage after the class name de.triage.Triage. Try giving the bean a different name.

like image 98
M A Avatar answered Nov 07 '25 09:11

M A



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!