List of usage examples for org.springframework.beans.factory.support BeanDefinitionRegistry isBeanNameInUse
boolean isBeanNameInUse(String beanName);
From source file:org.activiti.spring.components.config.xml.StateHandlerAnnotationBeanFactoryPostProcessor.java
private boolean beanAlreadyConfigured(BeanDefinitionRegistry registry, String beanName, Class clz) { if (registry.isBeanNameInUse(beanName)) { BeanDefinition bDef = registry.getBeanDefinition(beanName); if (bDef.getBeanClassName().equals(clz.getName())) { return true; // so the beans already registered, and of the right type. so we assume the user is overriding our configuration } else {// w ww . j av a 2s.c o m throw new IllegalStateException("The bean name '" + beanName + "' is reserved."); } } return false; }
From source file:org.blocks4j.feature.toggle.spring.scheme.FeatureToggleDefinitionParser.java
private void buildNewFactoryBean(String factoryBeanName, ParserContext context, String onRefName, String offRefName, Class<?> commonInterface, String feature) { BeanDefinitionRegistry factory = context.getReaderContext().getReader().getBeanFactory(); if (!factory.isBeanNameInUse(factoryBeanName)) { BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(FeatureToggleBeanFactory.class); builder.addPropertyValue(TAG_ONREF_NAME, onRefName); builder.addPropertyValue(TAG_OFFREF_NAME, offRefName); builder.addPropertyValue(TAG_FEATURENAME, feature); builder.addPropertyValue(TAG_COMMONINTERFACE_NAME, commonInterface); factory.registerBeanDefinition(factoryBeanName, builder.getBeanDefinition()); } else {//from w ww . ja va 2 s . c o m throw new RuntimeException(String .format("A bean with name '%s' already exists in the application context.", factoryBeanName)); } }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
/** * Register {@code integrationGlobalProperties} bean if necessary. * @param registry The {@link BeanDefinitionRegistry} to register additional {@link BeanDefinition}s. *//*www . ja v a 2 s . c o m*/ private void registerIntegrationProperties(BeanDefinitionRegistry registry) { boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry) .containsBean(IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME); } else { alreadyRegistered = registry .isBeanNameInUse(IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME); } if (!alreadyRegistered) { ResourcePatternResolver resourceResolver = new PathMatchingResourcePatternResolver(this.classLoader); try { Resource[] defaultResources = resourceResolver .getResources("classpath*:META-INF/spring.integration.default.properties"); Resource[] userResources = resourceResolver .getResources("classpath*:META-INF/spring.integration.properties"); List<Resource> resources = new LinkedList<Resource>(Arrays.asList(defaultResources)); resources.addAll(Arrays.asList(userResources)); BeanDefinitionBuilder integrationPropertiesBuilder = BeanDefinitionBuilder .genericBeanDefinition(PropertiesFactoryBean.class) .addPropertyValue("locations", resources); registry.registerBeanDefinition(IntegrationContextUtils.INTEGRATION_GLOBAL_PROPERTIES_BEAN_NAME, integrationPropertiesBuilder.getBeanDefinition()); } catch (IOException e) { logger.warn("Cannot load 'spring.integration.properties' Resources.", e); } } }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
/** * Register {@code jsonPath} and {@code xpath} SpEL-function beans, if necessary. * @param registry The {@link BeanDefinitionRegistry} to register additional {@link BeanDefinition}s. *///from w w w . j a v a 2s.com private void registerBuiltInBeans(BeanDefinitionRegistry registry) { int registryId = System.identityHashCode(registry); String jsonPathBeanName = "jsonPath"; boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry).containsBean(jsonPathBeanName); } else { alreadyRegistered = registry.isBeanNameInUse(jsonPathBeanName); } if (!alreadyRegistered && !registriesProcessed.contains(registryId)) { Class<?> jsonPathClass = null; try { jsonPathClass = ClassUtils.forName("com.jayway.jsonpath.JsonPath", this.classLoader); } catch (ClassNotFoundException e) { logger.debug("The '#jsonPath' SpEL function cannot be registered: " + "there is no jayway json-path.jar on the classpath."); } if (jsonPathClass != null) { try { ClassUtils.forName("com.jayway.jsonpath.Predicate", this.classLoader); } catch (ClassNotFoundException e) { jsonPathClass = null; logger.warn("The '#jsonPath' SpEL function cannot be registered. " + "An old json-path.jar version is detected in the classpath." + "At least 1.2.0 is required; see version information at: " + "https://github.com/jayway/JsonPath/releases", e); } } if (jsonPathClass != null) { IntegrationConfigUtils.registerSpelFunctionBean(registry, jsonPathBeanName, IntegrationConfigUtils.BASE_PACKAGE + ".json.JsonPathUtils", "evaluate"); } } alreadyRegistered = false; String xpathBeanName = "xpath"; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry).containsBean(xpathBeanName); } else { alreadyRegistered = registry.isBeanNameInUse(xpathBeanName); } if (!alreadyRegistered && !registriesProcessed.contains(registryId)) { Class<?> xpathClass = null; try { xpathClass = ClassUtils.forName(IntegrationConfigUtils.BASE_PACKAGE + ".xml.xpath.XPathUtils", this.classLoader); } catch (ClassNotFoundException e) { logger.debug("SpEL function '#xpath' isn't registered: " + "there is no spring-integration-xml.jar on the classpath."); } if (xpathClass != null) { IntegrationConfigUtils.registerSpelFunctionBean(registry, xpathBeanName, IntegrationConfigUtils.BASE_PACKAGE + ".xml.xpath.XPathUtils", "evaluate"); } } alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry).containsBean( IntegrationContextUtils.TO_STRING_FRIENDLY_JSON_NODE_TO_STRING_CONVERTER_BEAN_NAME); } else { alreadyRegistered = registry.isBeanNameInUse( IntegrationContextUtils.TO_STRING_FRIENDLY_JSON_NODE_TO_STRING_CONVERTER_BEAN_NAME); } if (!alreadyRegistered && !registriesProcessed.contains(registryId) && this.jackson2Present) { registry.registerBeanDefinition( IntegrationContextUtils.TO_STRING_FRIENDLY_JSON_NODE_TO_STRING_CONVERTER_BEAN_NAME, BeanDefinitionBuilder.genericBeanDefinition( IntegrationConfigUtils.BASE_PACKAGE + ".json.ToStringFriendlyJsonNodeToStringConverter") .getBeanDefinition()); INTEGRATION_CONVERTER_INITIALIZER.registerConverter(registry, new RuntimeBeanReference( IntegrationContextUtils.TO_STRING_FRIENDLY_JSON_NODE_TO_STRING_CONVERTER_BEAN_NAME)); } registriesProcessed.add(registryId); }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
/** * Register {@code DefaultConfiguringBeanFactoryPostProcessor}, if necessary. * @param registry The {@link BeanDefinitionRegistry} to register additional {@link BeanDefinition}s. */// w w w . j a va 2 s. c o m private void registerDefaultConfiguringBeanFactoryPostProcessor(BeanDefinitionRegistry registry) { boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry) .containsBean(IntegrationContextUtils.DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); } else { alreadyRegistered = registry .isBeanNameInUse(IntegrationContextUtils.DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); } if (!alreadyRegistered) { BeanDefinitionBuilder postProcessorBuilder = BeanDefinitionBuilder .genericBeanDefinition(DefaultConfiguringBeanFactoryPostProcessor.class); BeanDefinitionHolder postProcessorHolder = new BeanDefinitionHolder( postProcessorBuilder.getBeanDefinition(), IntegrationContextUtils.DEFAULT_CONFIGURING_POSTPROCESSOR_BEAN_NAME); BeanDefinitionReaderUtils.registerBeanDefinition(postProcessorHolder, registry); } }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
/** * Register a {@link DefaultHeaderChannelRegistry} in the given {@link BeanDefinitionRegistry}, if necessary. * @param registry The {@link BeanDefinitionRegistry} to register additional {@link BeanDefinition}s. */// www . j ava2 s.c o m private void registerHeaderChannelRegistry(BeanDefinitionRegistry registry) { boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry) .containsBean(IntegrationContextUtils.INTEGRATION_HEADER_CHANNEL_REGISTRY_BEAN_NAME); } else { alreadyRegistered = registry .isBeanNameInUse(IntegrationContextUtils.INTEGRATION_HEADER_CHANNEL_REGISTRY_BEAN_NAME); } if (!alreadyRegistered) { if (logger.isInfoEnabled()) { logger.info( "No bean named '" + IntegrationContextUtils.INTEGRATION_HEADER_CHANNEL_REGISTRY_BEAN_NAME + "' has been explicitly defined. " + "Therefore, a default DefaultHeaderChannelRegistry will be created."); } BeanDefinitionBuilder schedulerBuilder = BeanDefinitionBuilder .genericBeanDefinition(DefaultHeaderChannelRegistry.class); BeanDefinitionHolder replyChannelRegistryComponent = new BeanDefinitionHolder( schedulerBuilder.getBeanDefinition(), IntegrationContextUtils.INTEGRATION_HEADER_CHANNEL_REGISTRY_BEAN_NAME); BeanDefinitionReaderUtils.registerBeanDefinition(replyChannelRegistryComponent, registry); } }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
/** * Register the default datatype channel MessageConverter. * @param registry the registry.//from w w w . ja va 2 s .c om */ private void registerDefaultDatatypeChannelMessageConverter(BeanDefinitionRegistry registry) { boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry) .containsBean(IntegrationContextUtils.INTEGRATION_DATATYPE_CHANNEL_MESSAGE_CONVERTER_BEAN_NAME); } else { alreadyRegistered = registry.isBeanNameInUse( IntegrationContextUtils.INTEGRATION_DATATYPE_CHANNEL_MESSAGE_CONVERTER_BEAN_NAME); } if (!alreadyRegistered) { BeanDefinitionBuilder converterBuilder = BeanDefinitionBuilder .genericBeanDefinition(DefaultDatatypeChannelMessageConverter.class); registry.registerBeanDefinition( IntegrationContextUtils.INTEGRATION_DATATYPE_CHANNEL_MESSAGE_CONVERTER_BEAN_NAME, converterBuilder.getBeanDefinition()); } }
From source file:org.springframework.integration.config.IntegrationRegistrar.java
private void registerMessageBuilderFactory(BeanDefinitionRegistry registry) { boolean alreadyRegistered = false; if (registry instanceof ListableBeanFactory) { alreadyRegistered = ((ListableBeanFactory) registry) .containsBean(IntegrationUtils.INTEGRATION_MESSAGE_BUILDER_FACTORY_BEAN_NAME); } else {/*from w w w. j ava2 s .c o m*/ alreadyRegistered = registry .isBeanNameInUse(IntegrationUtils.INTEGRATION_MESSAGE_BUILDER_FACTORY_BEAN_NAME); } if (!alreadyRegistered) { BeanDefinitionBuilder mbfBuilder = BeanDefinitionBuilder .genericBeanDefinition(DefaultMessageBuilderFactory.class).addPropertyValue("readOnlyHeaders", IntegrationProperties.getExpressionFor(IntegrationProperties.READ_ONLY_HEADERS)); registry.registerBeanDefinition(IntegrationUtils.INTEGRATION_MESSAGE_BUILDER_FACTORY_BEAN_NAME, mbfBuilder.getBeanDefinition()); } }
From source file:org.springframework.integration.flow.config.FlowUtils.java
/** * Register a bean with "flow" prefix//w w w . ja v a 2 s.c o m * * @param beanDefinition * @param registry * @return */ public static String registerBeanDefinition(BeanDefinition beanDefinition, BeanDefinitionRegistry registry) { String beanName = BeanDefinitionReaderUtils.generateBeanName(beanDefinition, registry); beanName = "flow." + beanName; String strIndex = org.apache.commons.lang.StringUtils.substringAfter(beanName, "#"); int index = Integer.valueOf(strIndex); while (registry.isBeanNameInUse(beanName)) { index++; beanName = beanName.replaceAll("#\\d$", "#" + (index)); } registry.registerBeanDefinition(beanName, beanDefinition); return beanName; }
From source file:org.statefulj.framework.core.StatefulFactory.java
private void registerActionAndTransition(ReferenceFactory referenceFactory, Class<?> clazz, String from, String to, boolean reload, Transition transition, Method method, boolean isDomainEntity, RuntimeBeanReference controllerRef, String transitionId, BeanDefinitionRegistry reg) { // Remap to="Any" to to=from ///*from ww w . jav a 2 s .c o m*/ to = (Transition.ANY_STATE.equals(to)) ? from : to; logger.debug("Registered: {}({})->{}/{}", from, transition.event(), to, (method == null) ? "noop" : method.getName()); // Build the Action Bean // RuntimeBeanReference actionRef = null; if (method != null) { String actionId = referenceFactory.getActionId(method); if (!reg.isBeanNameInUse(actionId)) { registerMethodInvocationAction(referenceFactory, method, isDomainEntity, controllerRef, reg, actionId); } actionRef = new RuntimeBeanReference(actionId); } registerTransition(referenceFactory, from, to, reload, transition, transitionId, reg, actionRef); }