BeanDefinitionOverrideFailureAnalyzer Class — spring-boot Architecture
Architecture documentation for the BeanDefinitionOverrideFailureAnalyzer class in BeanDefinitionOverrideFailureAnalyzer.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/diagnostics/analyzer/BeanDefinitionOverrideFailureAnalyzer.java lines 32–57
class BeanDefinitionOverrideFailureAnalyzer extends AbstractFailureAnalyzer<BeanDefinitionOverrideException> {
private static final String ACTION = "Consider renaming one of the beans or enabling "
+ "overriding by setting spring.main.allow-bean-definition-overriding=true";
@Override
protected FailureAnalysis analyze(Throwable rootFailure, BeanDefinitionOverrideException cause) {
return new FailureAnalysis(getDescription(cause), ACTION, cause);
}
private String getDescription(BeanDefinitionOverrideException ex) {
StringWriter description = new StringWriter();
PrintWriter printer = new PrintWriter(description);
printer.printf("The bean '%s'", ex.getBeanName());
if (ex.getBeanDefinition().getResourceDescription() != null) {
printer.printf(", defined in %s,", ex.getBeanDefinition().getResourceDescription());
}
printer.print(" could not be registered. A bean with that name has already been defined ");
if (ex.getExistingDefinition().getResourceDescription() != null) {
printer.printf("in %s ", ex.getExistingDefinition().getResourceDescription());
}
printer.print("and overriding is disabled.");
return description.toString();
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free