List of usage examples for org.springframework.beans.factory.config BeanDefinition getBeanClassName
@Nullable String getBeanClassName();
From source file:org.springframework.data.gemfire.config.xml.GemfireDataSourceParser.java
/** * {@inheritDoc}/*from w w w.ja v a 2s .c om*/ */ @Override protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) { BeanDefinition clientCacheDefinition = new ClientCacheParser().parse(element, parserContext); parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition); BeanDefinition poolDefinition = new PoolParser().parse(element, parserContext); MutablePropertyValues poolProperties = poolDefinition.getPropertyValues(); if (!element.hasAttribute(SUBSCRIPTION_ENABLED_ATTRIBUTE_NAME)) { poolProperties.add(SUBSCRIPTION_ENABLED_PROPERTY_NAME, true); } parserContext.getRegistry().registerBeanDefinition(GemfireConstants.DEFAULT_GEMFIRE_POOL_NAME, poolDefinition); if (log.isDebugEnabled()) { log.debug(String.format("Registered GemFire ClientCache bean [%1$s] of type [%2$s]%n", GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME, clientCacheDefinition.getBeanClassName())); } BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(GemfireDataSourcePostProcessor.class); builder.addConstructorArgReference(GemfireConstants.DEFAULT_GEMFIRE_CACHE_NAME); BeanDefinitionReaderUtils.registerWithGeneratedName(builder.getBeanDefinition(), parserContext.getRegistry()); return null; }
From source file:org.springframework.data.repository.config.AbstractRepositoryConfigDefinitionParser.java
private Set<String> getRepositoryInterfacesForAutoConfig(S config, ResourceLoader loader, ReaderContext reader) {/*from w w w. ja v a 2s . c o m*/ ClassPathScanningCandidateComponentProvider scanner = new RepositoryComponentProvider( config.getRepositoryBaseInterface()); scanner.setResourceLoader(loader); TypeFilterParser parser = new TypeFilterParser(loader.getClassLoader(), reader); parser.parseFilters(config.getSource(), scanner); Set<BeanDefinition> findCandidateComponents = scanner.findCandidateComponents(config.getBasePackage()); Set<String> interfaceNames = new HashSet<String>(); for (BeanDefinition definition : findCandidateComponents) { interfaceNames.add(definition.getBeanClassName()); } return interfaceNames; }
From source file:org.springframework.data.repository.config.AbstractRepositoryConfigDefinitionParser.java
/** * Tries to detect a custom implementation for a repository bean by classpath scanning. * // w w w. ja v a2 s .c o m * @param config * @param parser * @return the {@code AbstractBeanDefinition} of the custom implementation or {@literal null} if none found */ private AbstractBeanDefinition detectCustomImplementation(T config, ParserContext parser) { // Build pattern to lookup implementation class Pattern pattern = Pattern.compile(".*\\." + config.getImplementationClassName()); // Build classpath scanner and lookup bean definition ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.setResourceLoader(parser.getReaderContext().getResourceLoader()); provider.addIncludeFilter(new RegexPatternTypeFilter(pattern)); Set<BeanDefinition> definitions = provider.findCandidateComponents(config.getBasePackage()); if (definitions.size() == 0) { return null; } if (definitions.size() == 1) { return (AbstractBeanDefinition) definitions.iterator().next(); } List<String> implementationClassNames = new ArrayList<String>(); for (BeanDefinition bean : definitions) { implementationClassNames.add(bean.getBeanClassName()); } throw new IllegalStateException(String.format( "Ambiguous custom implementations detected! Found %s but expected a single implementation!", StringUtils.collectionToCommaDelimitedString(implementationClassNames))); }
From source file:org.springframework.data.repository.config.RepositoryBeanDefinitionBuilder.java
/** * Tries to detect a custom implementation for a repository bean by classpath scanning. * //from www . j a va2 s.co m * @param config * @param parser * @return the {@code AbstractBeanDefinition} of the custom implementation or {@literal null} if none found */ private AbstractBeanDefinition detectCustomImplementation(BeanDefinitionRegistry registry, ResourceLoader loader) { // Build pattern to lookup implementation class Pattern pattern = Pattern.compile(".*\\." + configuration.getImplementationClassName()); // Build classpath scanner and lookup bean definition ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider( false); provider.setResourceLoader(loader); provider.addIncludeFilter(new RegexPatternTypeFilter(pattern)); Set<BeanDefinition> definitions = new HashSet<BeanDefinition>(); for (String basePackage : configuration.getBasePackages()) { definitions.addAll(provider.findCandidateComponents(basePackage)); } if (definitions.isEmpty()) { return null; } if (definitions.size() == 1) { return (AbstractBeanDefinition) definitions.iterator().next(); } List<String> implementationClassNames = new ArrayList<String>(); for (BeanDefinition bean : definitions) { implementationClassNames.add(bean.getBeanClassName()); } throw new IllegalStateException(String.format( "Ambiguous custom implementations detected! Found %s but expected a single implementation!", StringUtils.collectionToCommaDelimitedString(implementationClassNames))); }
From source file:org.springframework.flex.config.HibernateSerializationConfigPostProcessor.java
private BeanDefinition findMessageBrokerFactoryBeanDefinition(ConfigurableListableBeanFactory beanFactory) { if (beanFactory.containsBeanDefinition(BeanIds.MESSAGE_BROKER)) { return beanFactory.getBeanDefinition(BeanIds.MESSAGE_BROKER); } else {/*from w w w. j a va 2 s .c om*/ for (String beanDefName : beanFactory.getBeanDefinitionNames()) { BeanDefinition beanDef = beanFactory.getBeanDefinition(beanDefName); if (beanDef.getBeanClassName().equals(MESSAGE_BROKER_FACTORY_BEAN_CLASS_NAME)) { return beanDef; } } } return null; }
From source file:org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor.java
private void registerInfrastructureBean(BeanDefinitionRegistry registry, String className) { String[] definitionNames = registry.getBeanDefinitionNames(); for (String definitionName : definitionNames) { BeanDefinition definition = registry.getBeanDefinition(definitionName); if (className.equals(definition.getBeanClassName())) { if (this.logger.isInfoEnabled()) { this.logger.info(className + " is already registered and will be used"); }//from w w w .j a v a2 s . c o m return; } } RootBeanDefinition beanDefinition = new RootBeanDefinition(className); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, registry); }
From source file:org.springframework.integration.config.DefaultConfiguringBeanFactoryPostProcessor.java
/** * Register a null channel in the given BeanDefinitionRegistry. The bean name is defined by the constant * {@link IntegrationContextUtils#NULL_CHANNEL_BEAN_NAME}. *//* w ww. j av a2s .c o m*/ private void registerNullChannel(BeanDefinitionRegistry registry) { if (registry.containsBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME)) { BeanDefinition nullChannelDefinition = registry .getBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); if (NullChannel.class.getName().equals(nullChannelDefinition.getBeanClassName())) { return; } else { throw new IllegalStateException( "The bean name '" + IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME + "' is reserved."); } } else { RootBeanDefinition nullChannelDef = new RootBeanDefinition(); nullChannelDef.setBeanClassName(IntegrationConfigUtils.BASE_PACKAGE + ".channel.NullChannel"); BeanDefinitionHolder nullChannelHolder = new BeanDefinitionHolder(nullChannelDef, IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); BeanDefinitionReaderUtils.registerBeanDefinition(nullChannelHolder, registry); } }
From source file:org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor.java
private void registerIdGeneratorConfigurer(BeanDefinitionRegistry registry) { String listenerClassName = "org.springframework.integration.config.IdGeneratorConfigurer"; String[] definitionNames = registry.getBeanDefinitionNames(); for (String definitionName : definitionNames) { BeanDefinition definition = registry.getBeanDefinition(definitionName); if (listenerClassName.equals(definition.getBeanClassName())) { if (logger.isInfoEnabled()) { logger.info(listenerClassName + " is already registered and will be used"); }/* w w w . jav a 2 s . c om*/ return; } } RootBeanDefinition beanDefinition = new RootBeanDefinition(listenerClassName); beanDefinition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE); BeanDefinitionReaderUtils.registerWithGeneratedName(beanDefinition, registry); }
From source file:org.springframework.integration.config.xml.DefaultConfiguringBeanFactoryPostProcessor.java
/** * Register a null channel in the given BeanDefinitionRegistry. The bean name is defined by the constant * {@link IntegrationContextUtils#NULL_CHANNEL_BEAN_NAME}. *//* ww w .j a v a2 s .c om*/ private void registerNullChannel(BeanDefinitionRegistry registry) { if (registry.containsBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME)) { BeanDefinition nullChannelDefinition = registry .getBeanDefinition(IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); if (NullChannel.class.getName().equals(nullChannelDefinition.getBeanClassName())) { return; } else { throw new IllegalStateException( "The bean name '" + IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME + "' is reserved."); } } else { RootBeanDefinition nullChannelDef = new RootBeanDefinition(); nullChannelDef.setBeanClassName(IntegrationNamespaceUtils.BASE_PACKAGE + ".channel.NullChannel"); BeanDefinitionHolder nullChannelHolder = new BeanDefinitionHolder(nullChannelDef, IntegrationContextUtils.NULL_CHANNEL_BEAN_NAME); BeanDefinitionReaderUtils.registerBeanDefinition(nullChannelHolder, registry); } }
From source file:org.springframework.retry.backoff.BackOffPolicySerializationTests.java
@Parameters(name = "{index}: {0}") public static List<Object[]> policies() { List<Object[]> result = new ArrayList<Object[]>(); ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(true); scanner.addIncludeFilter(new AssignableTypeFilter(BackOffPolicy.class)); scanner.addExcludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*Test.*"))); scanner.addExcludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*Mock.*"))); scanner.addExcludeFilter(new RegexPatternTypeFilter(Pattern.compile(".*Configuration.*"))); Set<BeanDefinition> candidates = scanner.findCandidateComponents("org.springframework.retry"); for (BeanDefinition beanDefinition : candidates) { try {//from ww w. j av a 2s. co m result.add(new Object[] { BeanUtils .instantiate(ClassUtils.resolveClassName(beanDefinition.getBeanClassName(), null)) }); } catch (Exception e) { logger.warn("Cannot create instance of " + beanDefinition.getBeanClassName()); } } return result; }