Example usage for org.springframework.beans.factory.config BeanDefinition ROLE_APPLICATION

List of usage examples for org.springframework.beans.factory.config BeanDefinition ROLE_APPLICATION

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config BeanDefinition ROLE_APPLICATION.

Prototype

int ROLE_APPLICATION

To view the source code for org.springframework.beans.factory.config BeanDefinition ROLE_APPLICATION.

Click Source Link

Document

Role hint indicating that a BeanDefinition is a major part of the application.

Usage

From source file:fr.xebia.management.config.ManagedBasicDataSourceBeanDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ManagedBasicDataSource.class);

    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    fillBuilderWithAttributeIfExists(builder, element, "accessToUnderlyingConnectionAllowed",
            "access-to-underlying-connection-allowed", boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "connectionInitSqls", "connection-init-sqls",
            java.util.Collection.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "connectionProperties", "connection-properties",
            String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "defaultAutoCommit", "default-auto-commit",
            boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "defaultCatalog", "default-catalog", String.class,
            parserContext);/*from   w  w w.  j av a  2s  . c  om*/
    fillBuilderWithAttributeIfExists(builder, element, "defaultReadOnly", "default-read-only", boolean.class,
            parserContext);

    Element defaultTransactionIsolationElement = DomUtils.getChildElementByTagName(element,
            "default-transaction-isolation");
    if (defaultTransactionIsolationElement != null) {
        int defaultTransactionIsolation;
        String value = defaultTransactionIsolationElement.getAttribute("value");
        if ("NONE".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_NONE;
        } else if ("READ_UNCOMMITTED".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_READ_UNCOMMITTED;
        } else if ("READ_COMMITTED".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_READ_COMMITTED;
        } else if ("REPEATABLE_READ".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_REPEATABLE_READ;
        } else if ("SERIALIZABLE".equals(value)) {
            defaultTransactionIsolation = Connection.TRANSACTION_SERIALIZABLE;
        } else {
            String msg = "Invalid value for '<default-transaction-isolation' value=\"" + value + "\" />'";
            parserContext.getReaderContext().fatal(msg, defaultTransactionIsolationElement);
            throw new IllegalStateException(msg);
        }
        builder.addPropertyValue("defaultTransactionIsolation", defaultTransactionIsolation);

    }

    fillBuilderWithAttributeIfExists(builder, element, "driverClassName", "driver-class-name", String.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "initialSize", "initial-size", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "logAbandoned", "log-abandoned", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxActive", "max-active", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxIdle", "max-idle", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxOpenPreparedStatements",
            "max-open-prepared-statements", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "maxWait", "max-wait", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "minEvictableIdleTimeMillis",
            "min-evictable-idle-time-millis", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "minIdle", "min-idle", int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "numTestsPerEvictionRun", "num-tests-per-eviction-run",
            int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "password", "password", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "poolPreparedStatements", "pool-prepared-statements",
            boolean.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "removeAbandoned", "remove-abandoned", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "removeAbandonedTimeout", "remove-abandoned-timeout",
            int.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testOnBorrow", "test-on-borrow", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testOnReturn", "test-on-return", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "testWhileIdle", "test-while-idle", boolean.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "timeBetweenEvictionRunsMillis",
            "time-between-eviction-runs-millis", long.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "url", "url", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "username", "username", String.class, parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "validationQuery", "validation-query", String.class,
            parserContext);
    fillBuilderWithAttributeIfExists(builder, element, "validationQueryTimeout", "validation-query-timeout",
            int.class, parserContext);

    builder.setDestroyMethodName("close");

    return builder.getBeanDefinition();
}

From source file:fr.xebia.management.config.SpringManagedConnectionFactoryDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(SpringManagedConnectionFactory.class);

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    builder.addPropertyReference("connectionFactory", element.getAttribute(CONNECTION_FACTORY_ATTRIBUTE));
    builder.addPropertyValue("trackLeaks", element.getAttribute(TRACK_LEAKS_ATTRIBUTE));

    return builder.getBeanDefinition();
}

From source file:fr.xebia.management.config.ManagedCachingConnectionFactoryDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder
            .rootBeanDefinition(ManagedCachingConnectionFactory.class);

    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    builder.addPropertyReference("targetConnectionFactory", element.getAttribute(CONNECTION_FACTORY_ATTRIBUTE));
    builder.addPropertyValue("cacheConsumers", element.getAttribute(CACHE_CONSUMERS_ATTRIBUTE));
    builder.addPropertyValue("cacheProducers", element.getAttribute(CACHE_PRODUCERS_ATTRIBUTE));
    builder.addPropertyValue("sessionCacheSize", element.getAttribute(SESSION_CACHE_SIZE_ATTRIBUTE));
    builder.addPropertyValue("reconnectOnException", element.getAttribute(RECONNECT_ON_EXCEPTION));

    return builder.getBeanDefinition();
}

From source file:com.ryantenney.metrics.spring.reporter.AbstractReporterElementParser.java

@Override
public AbstractBeanDefinition parseReporter(Element element, ParserContext parserContext) {
    final BeanDefinitionBuilder beanDefBuilder;
    if (getBeanClass() != null) {
        beanDefBuilder = BeanDefinitionBuilder.rootBeanDefinition(getBeanClass());
    } else {// ww w .j av  a  2  s .  com
        beanDefBuilder = BeanDefinitionBuilder.rootBeanDefinition(getBeanClassName());
    }

    beanDefBuilder.setRole(BeanDefinition.ROLE_APPLICATION);
    beanDefBuilder.getRawBeanDefinition().setSource(parserContext.extractSource(element));
    try {
        parseReporter(element, beanDefBuilder);
        addDefaultProperties(element, beanDefBuilder);
        return beanDefBuilder.getBeanDefinition();
    } catch (Exception ex) {
        parserContext.getReaderContext().error(ex.getMessage(), element, ex);
        return null;
    }
}

From source file:org.wso2.msf4j.spring.MSF4JBeanDefinitionRegistryPostProcessor.java

private void registerBeanDefinition(BeanDefinitionRegistry registry, String beanName, Class beanClass) {
    RootBeanDefinition beanDefinition = new RootBeanDefinition(beanClass);
    beanDefinition.setTargetType(beanClass);
    beanDefinition.setRole(BeanDefinition.ROLE_APPLICATION);
    registry.registerBeanDefinition(beanName, beanDefinition);
}

From source file:org.jmxtrans.embedded.spring.EmbeddedJmxTransBeanDefinitionParser.java

@Override
protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) {
    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    if (element.hasAttribute(IGNORE_CONFIGURATION_NOT_FOUND_ATTRIBUTE)) {
        builder.addPropertyValue("ignoreConfigurationNotFound",
                element.getAttribute(IGNORE_CONFIGURATION_NOT_FOUND_ATTRIBUTE));
    }/*w  w w. j a  va  2s.c  o  m*/
    List<String> configurationUrls = new ArrayList<String>();
    if (element.hasAttribute(CONFIGURATION_ATTRIBUTE)) {
        String configurationUrl = element.getAttribute(CONFIGURATION_ATTRIBUTE);
        logger.debug("Add configuration from attribute {}", configurationUrl);
        configurationUrls.add(configurationUrl);
    }

    NodeList configurationNodeList = element.getElementsByTagNameNS(element.getNamespaceURI(),
            CONFIGURATION_ATTRIBUTE);
    for (int i = 0; i < configurationNodeList.getLength(); i++) {
        Node node = configurationNodeList.item(i);
        if (node instanceof Element) {
            String configurationUrl = node.getTextContent();
            logger.debug("Add configuration from attribute {}", configurationUrl);
            configurationUrls.add(configurationUrl);
        } else {
            throw new EmbeddedJmxTransException("Invalid configuration child element " + node);
        }

    }
    builder.addPropertyValue("configurationUrls", configurationUrls);
}

From source file:fr.xebia.management.config.ThreadPoolExecutorFactoryDefinitionParser.java

@Override
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
    BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(ThreadPoolExecutorFactory.class);

    // Mark as infrastructure bean and attach source location.
    builder.setRole(BeanDefinition.ROLE_APPLICATION);
    builder.getRawBeanDefinition().setSource(parserContext.extractSource(element));

    String poolSize = element.getAttribute(POOL_SIZE_ATTRIBUTE);
    if (StringUtils.hasText(poolSize)) {
        builder.addPropertyValue("poolSize", poolSize);
    }//  w  w  w.  j  av a  2 s  .  c  om

    String queueCapacity = element.getAttribute(QUEUE_CAPACITY_ATTRIBUTE);
    if (StringUtils.hasText(queueCapacity)) {
        builder.addPropertyValue("queueCapacity", queueCapacity);
    }

    String keepAlive = element.getAttribute(KEEP_ALIVE_ATTRIBUTE);
    if (StringUtils.hasText(keepAlive)) {
        builder.addPropertyValue("keepAliveTimeInSeconds", keepAlive);
    }

    String rejectionPolicy = element.getAttribute(REJECTION_POLICY_ATTRIBUTE);

    Class<? extends RejectedExecutionHandler> rejectedExecutionHandlerClass;
    if ("ABORT".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = AbortPolicy.class;
    } else if ("CALLER_RUNS".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = CallerRunsPolicy.class;
    } else if ("DISCARD".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = DiscardPolicy.class;
    } else if ("DISCARD_OLDEST".equals(rejectionPolicy)) {
        rejectedExecutionHandlerClass = DiscardOldestPolicy.class;
    } else {
        throw new IllegalArgumentException(
                "Unsupported '" + REJECTION_POLICY_ATTRIBUTE + "': '" + rejectionPolicy + "'");
    }
    builder.addPropertyValue("rejectedExecutionHandlerClass", rejectedExecutionHandlerClass);

    return builder.getBeanDefinition();
}

From source file:br.com.caelum.vraptor.ioc.spring.SpringRegistry.java

private void registerOn(Class<?> type, boolean customComponent) {
    AnnotatedGenericBeanDefinition definition = new AnnotatedGenericBeanDefinition(type);
    if (!customComponent) {
        definition.setLazyInit(true);// w w  w. j a v a 2  s .  c  om
    }
    definition.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_NO);
    definition.setPrimary(customComponent);
    definition.setRole(customComponent ? BeanDefinition.ROLE_APPLICATION : BeanDefinition.ROLE_INFRASTRUCTURE);

    String name = beanNameGenerator.generateBeanName(definition, (BeanDefinitionRegistry) beanFactory);
    BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(definition, name);

    ScopeMetadata scopeMetadata = scopeResolver.resolveScopeMetadata(definition);
    definitionHolder = applyScopeOn(definitionHolder, scopeMetadata);

    BeanDefinitionReaderUtils.registerBeanDefinition(definitionHolder, (BeanDefinitionRegistry) beanFactory);
}

From source file:com.inspiresoftware.lib.dto.geda.config.AnnotationDrivenGeDABeanDefinitionParser.java

protected RuntimeBeanReference setupDtoSupport(final Element element, final String dtoSupportBeanName,
        final BeanDefinitionRegistry registry, final Object elementSource,
        final RuntimeBeanReference dtoFactoryRef, final RuntimeBeanReference dtoVcrRef,
        final RuntimeBeanReference dtoDslRef) {

    final RootBeanDefinition dtoSupportDef = new RootBeanDefinition(DTOSupportImpl.class);
    dtoSupportDef.setSource(elementSource);
    dtoSupportDef.setRole(BeanDefinition.ROLE_APPLICATION);

    final MutablePropertyValues valuesArgs = dtoSupportDef.getPropertyValues();
    valuesArgs.addPropertyValue("beanFactory", dtoFactoryRef);
    if (dtoVcrRef != null) {
        valuesArgs.addPropertyValue("adaptersRegistrar", dtoVcrRef);
    }/*from www .  ja va  2  s . c  om*/
    if (dtoDslRef != null) {
        valuesArgs.addPropertyValue("dslRegistrar", dtoDslRef);
    }
    setupListenerProperty(valuesArgs, "onDtoAssembly", element.getAttribute(XSD_ATTR__ON_DTO_ASSEMBLY));
    setupListenerProperty(valuesArgs, "onDtoAssembled", element.getAttribute(XSD_ATTR__ON_DTO_ASSEMBLED));
    setupListenerProperty(valuesArgs, "onDtoFailed", element.getAttribute(XSD_ATTR__ON_DTO_FAILED));
    setupListenerProperty(valuesArgs, "onEntityAssembly", element.getAttribute(XSD_ATTR__ON_ENTITY_ASSEMBLY));
    setupListenerProperty(valuesArgs, "onEntityAssembled", element.getAttribute(XSD_ATTR__ON_ENTITY_ASSEMBLED));
    setupListenerProperty(valuesArgs, "onEntityFailed", element.getAttribute(XSD_ATTR__ON_ENTITY_FAILED));

    registry.registerBeanDefinition(dtoSupportBeanName, dtoSupportDef);

    return new RuntimeBeanReference(dtoSupportBeanName);
}

From source file:org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.java

protected boolean isOverriddenByExistingDefinition(BeanMethod beanMethod, String beanName) {
    if (!this.registry.containsBeanDefinition(beanName)) {
        return false;
    }/*  w  w w.  j a  v a2s  .  c  o  m*/
    BeanDefinition existingBeanDef = this.registry.getBeanDefinition(beanName);

    // Is the existing bean definition one that was created from a configuration class?
    // -> allow the current bean method to override, since both are at second-pass level.
    // However, if the bean method is an overloaded case on the same configuration class,
    // preserve the existing bean definition.
    if (existingBeanDef instanceof ConfigurationClassBeanDefinition) {
        ConfigurationClassBeanDefinition ccbd = (ConfigurationClassBeanDefinition) existingBeanDef;
        return ccbd.getMetadata().getClassName()
                .equals(beanMethod.getConfigurationClass().getMetadata().getClassName());
    }

    // A bean definition resulting from a component scan can be silently overridden
    // by an @Bean method, as of 4.2...
    if (existingBeanDef instanceof ScannedGenericBeanDefinition) {
        return false;
    }

    // Has the existing bean definition bean marked as a framework-generated bean?
    // -> allow the current bean method to override it, since it is application-level
    if (existingBeanDef.getRole() > BeanDefinition.ROLE_APPLICATION) {
        return false;
    }

    // At this point, it's a top-level override (probably XML), just having been parsed
    // before configuration class processing kicks in...
    if (this.registry instanceof DefaultListableBeanFactory
            && !((DefaultListableBeanFactory) this.registry).isAllowBeanDefinitionOverriding()) {
        throw new BeanDefinitionStoreException(
                beanMethod.getConfigurationClass().getResource().getDescription(), beanName,
                "@Bean definition illegally overridden by existing bean definition: " + existingBeanDef);
    }
    if (logger.isInfoEnabled()) {
        logger.info(String.format(
                "Skipping bean definition for %s: a definition for bean '%s' "
                        + "already exists. This top-level bean definition is considered as an override.",
                beanMethod, beanName));
    }
    return true;
}