@Override public String getDescription() { return "BeanDefinition defined in " + this.beanDefinition.getResourceDescription(); }
/** * Create a new BeanDefinitionOverrideException for the given new and existing definition. * @param beanName the name of the bean * @param beanDefinition the newly registered bean definition * @param existingDefinition the existing bean definition for the same name */ public BeanDefinitionOverrideException( String beanName, BeanDefinition beanDefinition, BeanDefinition existingDefinition) { super(beanDefinition.getResourceDescription(), beanName, "Cannot register bean definition [" + beanDefinition + "] for bean '" + beanName + "': There is already [" + existingDefinition + "] bound."); this.beanDefinition = beanDefinition; this.existingDefinition = existingDefinition; }
@Override public String getDescription() { return "BeanDefinition defined in " + this.beanDefinition.getResourceDescription(); }
/** * Create a new BeanDefinitionOverrideException for the given new and existing definition. * @param beanName the name of the bean * @param beanDefinition the newly registered bean definition * @param existingDefinition the existing bean definition for the same name */ public BeanDefinitionOverrideException( String beanName, BeanDefinition beanDefinition, BeanDefinition existingDefinition) { super(beanDefinition.getResourceDescription(), beanName, "Cannot register bean definition [" + beanDefinition + "] for bean '" + beanName + "': There is already [" + existingDefinition + "] bound."); this.beanDefinition = beanDefinition; this.existingDefinition = existingDefinition; }
/** * Returns the bean description if the current bean factory allows it. * @return spring bean description configure via the spring description tag */ protected String getBeanDesc() { return (beanFactory instanceof ConfigurableListableBeanFactory) ? ((ConfigurableListableBeanFactory) beanFactory).getBeanDefinition(beanName).getResourceDescription() : "Workflow Processor: " + beanName; }
/** * Determine a resource description for the given bean definition and * apply basic JSON escaping (backslashes, double quotes) to it. * @param bd the bean definition to build the resource description for * @return the JSON-escaped resource description */ @Nullable protected String getEscapedResourceDescription(BeanDefinition bd) { String resourceDescription = bd.getResourceDescription(); if (resourceDescription == null) { return null; } StringBuilder result = new StringBuilder(resourceDescription.length() + 16); for (int i = 0; i < resourceDescription.length(); i++) { char character = resourceDescription.charAt(i); if (character == '\\') { result.append('/'); } else if (character == '"') { result.append("\\").append('"'); } else { result.append(character); } } return result.toString(); }
/** * Logs a warning for a bean annotated with {@link Deprecated @Deprecated}. * @param beanName the name of the deprecated bean * @param beanType the user-specified type of the deprecated bean * @param beanDefinition the definition of the deprecated bean */ protected void logDeprecatedBean(String beanName, Class<?> beanType, BeanDefinition beanDefinition) { StringBuilder builder = new StringBuilder(); builder.append(beanType); builder.append(" ['"); builder.append(beanName); builder.append('\''); String resourceDescription = beanDefinition.getResourceDescription(); if (StringUtils.hasLength(resourceDescription)) { builder.append(" in "); builder.append(resourceDescription); } builder.append("] has been deprecated"); writeToLog(builder.toString()); }
/** * Determine a resource description for the given bean definition and * apply basic JSON escaping (backslashes, double quotes) to it. * @param bd the bean definition to build the resource description for * @return the JSON-escaped resource description */ @Nullable protected String getEscapedResourceDescription(BeanDefinition bd) { String resourceDescription = bd.getResourceDescription(); if (resourceDescription == null) { return null; } StringBuilder result = new StringBuilder(resourceDescription.length() + 16); for (int i = 0; i < resourceDescription.length(); i++) { char character = resourceDescription.charAt(i); if (character == '\\') { result.append('/'); } else if (character == '"') { result.append("\\").append('"'); } else { result.append(character); } } return result.toString(); }
@PostConstruct public void init() { String originatingFile = ((BeanDefinitionRegistry) applicationContext.getAutowireCapableBeanFactory()).getBeanDefinition("blConfiguration").getResourceDescription(); LOG.error("A blConfiguration bean was detected in " + originatingFile + ". Any use of blConfiguration and the RuntimeEnvironmentProperitesConfigurer is deprecated and has unknown side-effects. Remove " + "all instances blConfiguration from all applicationContext.xml files. Use either a FrameworkCommonPropertySource, ProfileAwarePropertySource or a @PropertySource annotation on an @Configuration class"); }
private String getResourceDescription(String beanName, ListableBeanFactory beanFactory) { if (beanFactory instanceof BeanDefinitionRegistry) { BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory; return registry.getBeanDefinition(beanName).getResourceDescription(); } return "unknown"; }
private String getDefinitionDescription(String beanName, BeanDefinition definition) { if (StringUtils.hasText(definition.getFactoryMethodName())) { return String.format("\t- %s: defined by method '%s' in %s%n", beanName, definition.getFactoryMethodName(), definition.getResourceDescription()); } return String.format("\t- %s: defined in %s%n", beanName, definition.getResourceDescription()); }
/** * Logs a warning for a bean annotated with {@link Deprecated @Deprecated}. * @param beanName the name of the deprecated bean * @param beanType the user-specified type of the deprecated bean * @param beanDefinition the definition of the deprecated bean */ protected void logDeprecatedBean(String beanName, Class<?> beanType, BeanDefinition beanDefinition) { StringBuilder builder = new StringBuilder(); builder.append(beanType); builder.append(" ['"); builder.append(beanName); builder.append('\''); String resourceDescription = beanDefinition.getResourceDescription(); if (StringUtils.hasLength(resourceDescription)) { builder.append(" in "); builder.append(resourceDescription); } builder.append("] has been deprecated"); writeToLog(builder.toString()); }
private String getDescription(BeanDefinitionOverrideException ex) { StringWriter description = new StringWriter(); PrintWriter printer = new PrintWriter(description); printer.printf( "The bean '%s', defined in %s, could not be registered. A bean with that " + "name has already been defined in %s and overriding is disabled.", ex.getBeanName(), ex.getBeanDefinition().getResourceDescription(), ex.getExistingDefinition().getResourceDescription()); return description.toString(); }
protected void doProcessProperties(ConfigurableListableBeanFactory beanFactoryToProcess, StringValueResolver valueResolver) { BeanDefinitionVisitor visitor = new BeanDefinitionVisitor(valueResolver); String[] beanNames = beanFactoryToProcess.getBeanDefinitionNames(); for (String curName : beanNames) { // Check that we're not parsing our own bean definition, // to avoid failing on unresolvable placeholders in properties file locations. if (!(curName.equals(this.beanName) && beanFactoryToProcess.equals(this.beanFactory))) { BeanDefinition bd = beanFactoryToProcess.getBeanDefinition(curName); try { visitor.visitBeanDefinition(bd); } catch (Exception ex) { throw new BeanDefinitionStoreException(bd.getResourceDescription(), curName, ex.getMessage(), ex); } } } // New in Spring 2.5: resolve placeholders in alias target names and aliases as well. beanFactoryToProcess.resolveAliases(valueResolver); // New in Spring 3.0: resolve placeholders in embedded values such as annotation attributes. beanFactoryToProcess.addEmbeddedValueResolver(valueResolver); }
throw new BeanDefinitionStoreException(beanDefinition.getResourceDescription(), beanName, "Validation of bean definition failed", ex);
if (this.beanFactory.getParentBeanFactory() == null) { throw new BeanCreationException( this.beanDefinition.getResourceDescription(), this.beanName, "Can't resolve reference to bean '" + refName + "' in parent factory: no parent factory available"); this.beanDefinition.getResourceDescription(), this.beanName, "Cannot resolve reference to bean '" + ref.getBeanName() + "' while setting " + argName, ex);
try { BeanDefinition beanDefinition = beanFactory.getMergedBeanDefinition(beanName); msg += " Overriding bean of same name declared in: " + beanDefinition.getResourceDescription();
this.beanDefinition.getResourceDescription(), this.beanName, "Cannot create inner bean '" + innerBeanName + "' " + (mbd != null && mbd.getBeanClassName() != null ? "of type [" + mbd.getBeanClassName() + "] " : "") +
getConstructorArgumentValues().addArgumentValues(other.getConstructorArgumentValues()); getPropertyValues().addPropertyValues(other.getPropertyValues()); setResourceDescription(other.getResourceDescription());
setConstructorArgumentValues(new ConstructorArgumentValues(original.getConstructorArgumentValues())); setPropertyValues(new MutablePropertyValues(original.getPropertyValues())); setResourceDescription(original.getResourceDescription());