@Override public boolean isFactoryBean(String name) throws NoSuchBeanDefinitionException { String beanName = transformedBeanName(name); Object beanInstance = getSingleton(beanName, false); if (beanInstance != null) { return (beanInstance instanceof FactoryBean); } // No singleton instance found -> check bean definition. if (!containsBeanDefinition(beanName) && getParentBeanFactory() instanceof ConfigurableBeanFactory) { // No bean definition found in this factory -> delegate to parent. return ((ConfigurableBeanFactory) getParentBeanFactory()).isFactoryBean(name); } return isFactoryBean(beanName, getMergedLocalBeanDefinition(beanName)); }
@Override public boolean isFactoryBean(String name) throws NoSuchBeanDefinitionException { String beanName = transformedBeanName(name); Object beanInstance = getSingleton(beanName, false); if (beanInstance != null) { return (beanInstance instanceof FactoryBean); } // No singleton instance found -> check bean definition. if (!containsBeanDefinition(beanName) && getParentBeanFactory() instanceof ConfigurableBeanFactory) { // No bean definition found in this factory -> delegate to parent. return ((ConfigurableBeanFactory) getParentBeanFactory()).isFactoryBean(name); } return isFactoryBean(beanName, getMergedLocalBeanDefinition(beanName)); }
public boolean isFactoryBean(String name) throws NoSuchBeanDefinitionException { String beanName = transformedBeanName(name); Object beanInstance = getSingleton(beanName, false); if (beanInstance != null) { return (beanInstance instanceof FactoryBean); } else if (containsSingleton(beanName)) { // null instance registered return false; } // No singleton instance found -> check bean definition. if (!containsBeanDefinition(beanName) && getParentBeanFactory() instanceof ConfigurableBeanFactory) { // No bean definition found in this factory -> delegate to parent. return ((ConfigurableBeanFactory) getParentBeanFactory()).isFactoryBean(name); } return isFactoryBean(beanName, getMergedLocalBeanDefinition(beanName)); }
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { // disable publication until all the dependencies have been fulfilled // ignore inner beans if (bean instanceof OsgiServiceFactoryBean && beanFactory.containsLocalBean(beanName)) { String exporterName = beanName; if (beanFactory.isFactoryBean(beanName)) { exporterName = BeanFactory.FACTORY_BEAN_PREFIX + beanName; } // if it's a singleton, then disable publication, otherwise ignore it if (beanFactory.isSingleton(exporterName)) { // get controller ExporterInternalActions controller = ExporterControllerUtils.getControllerFor(bean); controller.registerServiceAtStartup(false); } } return bean; }
return ((ConfigurableBeanFactory) getParentBeanFactory()).isFactoryBean(name); return isFactoryBean(beanName, getMergedLocalBeanDefinition(beanName));