当前位置: 首页>>代码示例>>Java>>正文


Java BeanFactory.FACTORY_BEAN_PREFIX属性代码示例

本文整理汇总了Java中org.springframework.beans.factory.BeanFactory.FACTORY_BEAN_PREFIX属性的典型用法代码示例。如果您正苦于以下问题:Java BeanFactory.FACTORY_BEAN_PREFIX属性的具体用法?Java BeanFactory.FACTORY_BEAN_PREFIX怎么用?Java BeanFactory.FACTORY_BEAN_PREFIX使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.springframework.beans.factory.BeanFactory的用法示例。


在下文中一共展示了BeanFactory.FACTORY_BEAN_PREFIX属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: postProcessBeforeInitialization

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;
}
 
开发者ID:eclipse,项目名称:gemini.blueprint,代码行数:18,代码来源:MandatoryDependencyBeanPostProcessor.java

示例2: getLifecycleBeans

/**
 * Retrieve all applicable Lifecycle beans: all singletons that have already been created,
 * as well as all SmartLifecycle beans (even if they are marked as lazy-init).
 * @return the Map of applicable beans, with bean names as keys and bean instances as values
 */
protected Map<String, Lifecycle> getLifecycleBeans() {
	Map<String, Lifecycle> beans = new LinkedHashMap<String, Lifecycle>();
	String[] beanNames = this.beanFactory.getBeanNamesForType(Lifecycle.class, false, false);
	for (String beanName : beanNames) {
		String beanNameToRegister = BeanFactoryUtils.transformedBeanName(beanName);
		boolean isFactoryBean = this.beanFactory.isFactoryBean(beanNameToRegister);
		String beanNameToCheck = (isFactoryBean ? BeanFactory.FACTORY_BEAN_PREFIX + beanName : beanName);
		if ((this.beanFactory.containsSingleton(beanNameToRegister) &&
				(!isFactoryBean || Lifecycle.class.isAssignableFrom(this.beanFactory.getType(beanNameToCheck)))) ||
				SmartLifecycle.class.isAssignableFrom(this.beanFactory.getType(beanNameToCheck))) {
			Lifecycle bean = this.beanFactory.getBean(beanNameToCheck, Lifecycle.class);
			if (bean != this) {
				beans.put(beanNameToRegister, bean);
			}
		}
	}
	return beans;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:23,代码来源:DefaultLifecycleProcessor.java

示例3: postProcessBeanFactory

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
	if (isLogEnabled()) {
		String[] beanNames = beanFactory.getBeanDefinitionNames();
		for (String beanName : beanNames) {
			String nameToLookup = beanName;
			if (beanFactory.isFactoryBean(beanName)) {
				nameToLookup = BeanFactory.FACTORY_BEAN_PREFIX + beanName;
			}
			Class<?> beanType = ClassUtils.getUserClass(beanFactory.getType(nameToLookup));
			if (beanType != null && beanType.isAnnotationPresent(Deprecated.class)) {
				BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
				logDeprecatedBean(beanName, beanType, beanDefinition);
			}
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:DeprecatedBeanWarner.java

示例4: addServiceExporter

public void addServiceExporter(Object exporter, String exporterBeanName) {
	Assert.hasText(exporterBeanName);

	if (exportersSeen.putIfAbsent(exporterBeanName, VALUE) == null) {

		String beanName = exporterBeanName;

		if (beanFactory.isFactoryBean(exporterBeanName))
			beanName = BeanFactory.FACTORY_BEAN_PREFIX + exporterBeanName;

		// check if it's factory bean (no need to check for abstract
		// definition since we're called by a BPP)
		if (!beanFactory.isSingleton(beanName)) {
			log.info("Exporter [" + beanName + "] is not singleton and will not be tracked");
		}

		else {
			if (log.isDebugEnabled())
				log.debug("Exporter [" + beanName + "] is being tracked for dependencies");

			exporterToName.put(exporter, exporterBeanName);
			// retrieve associated controller
			ExporterInternalActions controller = ExporterControllerUtils.getControllerFor(exporter);

			// disable publication at startup
			controller.registerServiceAtStartup(false);

			// populate the dependency maps
			discoverDependentImporterFor(exporterBeanName, exporter);
		}
	}
}
 
开发者ID:eclipse,项目名称:gemini.blueprint,代码行数:32,代码来源:DefaultMandatoryDependencyManager.java

示例5: obtainFreshBean

/**
 * Obtain a fresh target object, retrieving a FactoryBean if necessary.
 */
@Override
protected Object obtainFreshBean(BeanFactory beanFactory, String beanName) {
	return super.obtainFreshBean(beanFactory,
			(this.isFactoryBean ? BeanFactory.FACTORY_BEAN_PREFIX + beanName : beanName));
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:RefreshableScriptTargetSource.java

示例6: postProcessBeforeInstantiation

@Override
public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) {
	// We only apply special treatment to ScriptFactory implementations here.
	if (!ScriptFactory.class.isAssignableFrom(beanClass)) {
		return null;
	}

	BeanDefinition bd = this.beanFactory.getMergedBeanDefinition(beanName);
	String scriptFactoryBeanName = SCRIPT_FACTORY_NAME_PREFIX + beanName;
	String scriptedObjectBeanName = SCRIPTED_OBJECT_NAME_PREFIX + beanName;
	prepareScriptBeans(bd, scriptFactoryBeanName, scriptedObjectBeanName);

	ScriptFactory scriptFactory = this.scriptBeanFactory.getBean(scriptFactoryBeanName, ScriptFactory.class);
	ScriptSource scriptSource = getScriptSource(scriptFactoryBeanName, scriptFactory.getScriptSourceLocator());
	boolean isFactoryBean = false;
	try {
		Class<?> scriptedObjectType = scriptFactory.getScriptedObjectType(scriptSource);
		// Returned type may be null if the factory is unable to determine the type.
		if (scriptedObjectType != null) {
			isFactoryBean = FactoryBean.class.isAssignableFrom(scriptedObjectType);
		}
	}
	catch (Exception ex) {
		throw new BeanCreationException(beanName,
				"Could not determine scripted object type for " + scriptFactory, ex);
	}

	long refreshCheckDelay = resolveRefreshCheckDelay(bd);
	if (refreshCheckDelay >= 0) {
		Class<?>[] interfaces = scriptFactory.getScriptInterfaces();
		RefreshableScriptTargetSource ts = new RefreshableScriptTargetSource(this.scriptBeanFactory,
				scriptedObjectBeanName, scriptFactory, scriptSource, isFactoryBean);
		boolean proxyTargetClass = resolveProxyTargetClass(bd);
		String language = (String) bd.getAttribute(LANGUAGE_ATTRIBUTE);
		if (proxyTargetClass && (language == null || !language.equals("groovy"))) {
			throw new BeanDefinitionValidationException(
					"Cannot use proxyTargetClass=true with script beans where language is not 'groovy': '" +
					language + "'");
		}
		ts.setRefreshCheckDelay(refreshCheckDelay);
		return createRefreshableProxy(ts, interfaces, proxyTargetClass);
	}

	if (isFactoryBean) {
		scriptedObjectBeanName = BeanFactory.FACTORY_BEAN_PREFIX + scriptedObjectBeanName;
	}
	return this.scriptBeanFactory.getBean(scriptedObjectBeanName);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:48,代码来源:ScriptFactoryPostProcessor.java

示例7: SerializedEntityManagerFactoryBeanReference

public SerializedEntityManagerFactoryBeanReference(BeanFactory beanFactory, String beanName) {
	this.beanFactory = beanFactory;
	this.lookupName = BeanFactory.FACTORY_BEAN_PREFIX + beanName;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:4,代码来源:AbstractEntityManagerFactoryBean.java


注:本文中的org.springframework.beans.factory.BeanFactory.FACTORY_BEAN_PREFIX属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。