List of usage examples for org.springframework.beans.factory.config BeanDefinitionHolder getAliases
@Nullable
public String[] getAliases()
From source file:com.dianping.zebra.monitor.spring.DataSourceAutoMonitor.java
@SuppressWarnings("unchecked") private void replaceInnerDataSourceInZebra(String beanName, BeanDefinition zebraDataSourceDefinition) { MutablePropertyValues propertyValues = zebraDataSourceDefinition.getPropertyValues(); PropertyValue dataSourcePoolVal = propertyValues.getPropertyValue("dataSourcePool"); if (dataSourcePoolVal == null) { if (logger.isWarnEnabled()) { logger.warn("Zebra dataSource's dataSourcePool property not found, maybe its name is modified, " + "change the automonitor's implementation, otherwise some inner dataSource cannot be monitored."); }/*from w ww . j av a2s. c o m*/ return; } Map<TypedStringValue, Object> innerDSDefinitionMap = (Map<TypedStringValue, Object>) dataSourcePoolVal .getValue(); for (Entry<TypedStringValue, Object> innerDSDefEntry : innerDSDefinitionMap.entrySet()) { Object innerDSDefVal = innerDSDefEntry.getValue(); if (innerDSDefVal instanceof BeanDefinitionHolder) { BeanDefinitionHolder innerDSDefHolder = (BeanDefinitionHolder) innerDSDefVal; BeanDefinition innerDSDefinition = innerDSDefHolder.getBeanDefinition(); innerDSDefEntry.setValue( new BeanDefinitionHolder(createMonitorableBeanDefinition(beanName, innerDSDefinition), innerDSDefHolder.getBeanName(), innerDSDefHolder.getAliases())); } } }
From source file:org.jdal.aop.SerializableProxyUtils.java
public static BeanDefinitionHolder createSerializableProxy(BeanDefinitionHolder definition, BeanDefinitionRegistry registry, boolean proxyTargetClass) { String originalBeanName = definition.getBeanName(); BeanDefinition targetDefinition = definition.getBeanDefinition(); // Create a scoped proxy definition for the original bean name, // "hiding" the target bean in an internal target definition. RootBeanDefinition proxyDefinition = new RootBeanDefinition(SerializableProxyFactoryBean.class); proxyDefinition.setOriginatingBeanDefinition(definition.getBeanDefinition()); proxyDefinition.setSource(definition.getSource()); proxyDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); String targetBeanName = getTargetBeanName(originalBeanName); proxyDefinition.getPropertyValues().add("targetBeanName", targetBeanName); if (proxyTargetClass) { targetDefinition.setAttribute(AutoProxyUtils.PRESERVE_TARGET_CLASS_ATTRIBUTE, Boolean.TRUE); } else {/*from www.j av a2s . co m*/ proxyDefinition.getPropertyValues().add("proxyTargetClass", Boolean.FALSE); } // Copy autowire settings from original bean definition. proxyDefinition.setAutowireCandidate(targetDefinition.isAutowireCandidate()); proxyDefinition.setPrimary(targetDefinition.isPrimary()); if (targetDefinition instanceof AbstractBeanDefinition) { proxyDefinition.copyQualifiersFrom((AbstractBeanDefinition) targetDefinition); } // Set singleton property of FactoryBean proxyDefinition.getPropertyValues().add("singleton", !targetDefinition.isPrototype()); // The target bean should be ignored in favor of the scoped proxy. targetDefinition.setAutowireCandidate(false); targetDefinition.setPrimary(false); // Register the target bean as separate bean in the factory. registry.registerBeanDefinition(targetBeanName, targetDefinition); // Return the scoped proxy definition as primary bean definition // (potentially an inner bean). return new BeanDefinitionHolder(proxyDefinition, originalBeanName, definition.getAliases()); }