Home / Class/ BeanDefinitionOverrideFailureAnalyzer Class — spring-boot Architecture

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

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free