Example usage for org.springframework.beans.factory.support GenericBeanDefinition setScope

List of usage examples for org.springframework.beans.factory.support GenericBeanDefinition setScope

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support GenericBeanDefinition setScope.

Prototype

@Override
public void setScope(@Nullable String scope) 

Source Link

Document

Set the name of the target scope for the bean.

Usage

From source file:io.nuun.plugin.spring.UsingSpringAsDIPlugin.java

public Object nativeUnitModule() {
    ClassPathXmlApplicationContext parentCtx = new ClassPathXmlApplicationContext("context.xml");

    StaticApplicationContext dynCtx = new StaticApplicationContext();
    GenericBeanDefinition beanDef = new GenericBeanDefinition();
    beanDef.setBeanClass(Service3Internal.class);
    beanDef.setScope("prototype");
    dynCtx.registerBeanDefinition("service3", beanDef);

    dynCtx.setParent(parentCtx);/*  w w  w . j  a v a 2  s.c  om*/
    dynCtx.refresh();

    return dynCtx;
}

From source file:org.nuunframework.spring.UsingSpringAsDIPlugin.java

@Override
public Object dependencyInjectionDef() {
    ClassPathXmlApplicationContext parentCtx = new ClassPathXmlApplicationContext("context.xml");

    StaticApplicationContext dynCtx = new StaticApplicationContext();
    GenericBeanDefinition beanDef = new GenericBeanDefinition();
    beanDef.setBeanClass(Service3Internal.class);
    beanDef.setScope("prototype");
    dynCtx.registerBeanDefinition("service3", beanDef);

    dynCtx.setParent(parentCtx);/*  w ww  .j  av a2 s . co m*/
    dynCtx.refresh();

    return dynCtx;
}

From source file:org.jacp.project.launcher.SpringLauncher.java

@Override
public synchronized <T> T registerAndGetBean(Class<? extends T> type, final String id, final Scope scope) {
    if (this.factory.containsBean(id))
        return getBean(type);
    final AutowireCapableBeanFactory factory = getContext().getAutowireCapableBeanFactory();
    final BeanDefinitionRegistry registry = (BeanDefinitionRegistry) factory;
    final GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
    beanDefinition.setBeanClass(type);//from   ww  w  . j av  a2s . c  om
    beanDefinition.setScope(scope.getType());
    beanDefinition.setAutowireCandidate(true);
    registry.registerBeanDefinition(id, beanDefinition);
    factory.autowireBeanProperties(this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
    return getBean(type);
}

From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java

/**
 * Register a prototype bean with the underlying bean factory.
 * <p>For more advanced needs, register with the underlying BeanFactory directly.
 * @see #getDefaultListableBeanFactory/*from   ww  w  .java  2s  .c  o  m*/
 */
public void registerPrototype(String name, Class clazz) throws BeansException {
    GenericBeanDefinition bd = new GenericBeanDefinition();
    bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE);
    bd.setBeanClass(clazz);
    getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
}

From source file:org.codehaus.griffon.runtime.spring.GriffonApplicationContext.java

/**
 * Register a prototype bean with the underlying bean factory.
 * <p>For more advanced needs, register with the underlying BeanFactory directly.
 * @see #getDefaultListableBeanFactory//ww  w  .java2 s .  c  o  m
 */
public void registerPrototype(String name, Class clazz, MutablePropertyValues pvs) throws BeansException {
    GenericBeanDefinition bd = new GenericBeanDefinition();
    bd.setScope(GenericBeanDefinition.SCOPE_PROTOTYPE);
    bd.setBeanClass(clazz);
    bd.setPropertyValues(pvs);
    getDefaultListableBeanFactory().registerBeanDefinition(name, bd);
}

From source file:org.jacpfx.spring.launcher.SpringXmlConfigLauncher.java

@Override
public synchronized <T> T registerAndGetBean(Class<? extends T> type, final String id, final Scope scope) {
    if (contains(id))
        return getBean(id);
    final AutowireCapableBeanFactory factory = getContext().getAutowireCapableBeanFactory();
    final BeanDefinitionRegistry registry = (BeanDefinitionRegistry) factory;
    final GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
    beanDefinition.setBeanClass(type);/*w ww  . j  a v  a2  s . c o  m*/
    if (scope != null)
        beanDefinition.setScope(scope.getType());
    beanDefinition.setAutowireCandidate(true);
    registry.registerBeanDefinition(id, beanDefinition);
    factory.autowireBeanProperties(this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
    return getBean(id);
}

From source file:com.github.steveash.spring.WiringFactoryBeanFactoryPostProcessor.java

private void addPrototypeDef(ConfigurableListableBeanFactory beanFactory, String beanDefName,
        Class<?> protoBeanClass) {
    String beanName = getPrototypeBeanNameFromBeanClass(protoBeanClass);
    if (beanFactory.containsBeanDefinition(beanName)) {
        throw new BeanDefinitionValidationException("Trying to register a bean definition for a synthetic "
                + "prototype bean with name " + beanName + " due to the bean factory of name " + beanDefName
                + " but a bean with this name already exists!");
    }/*from w w  w.ja  va  2s. co m*/

    GenericBeanDefinition protoBean = new GenericBeanDefinition();
    protoBean.setLazyInit(true);
    protoBean.setBeanClass(protoBeanClass);
    protoBean.setScope(BeanDefinition.SCOPE_PROTOTYPE);
    protoBean.setAutowireMode(AbstractBeanDefinition.AUTOWIRE_CONSTRUCTOR);
    protoBean.setBeanClassName(protoBeanClass.getName());

    log.debug("Dynamically adding prototype bean {} from factory {}", beanName, beanDefName);
    BeanDefinitionRegistry registry = (BeanDefinitionRegistry) beanFactory;
    registry.registerBeanDefinition(beanName, protoBean);
}

From source file:org.jacpfx.spring.launcher.SpringJavaConfigLauncher.java

@Override
public <P> P registerAndGetBean(Class<? extends P> type, String id, Scope scope) {
    if (contains(id))
        return getBean(id);
    final GenericBeanDefinition beanDefinition = new GenericBeanDefinition();
    beanDefinition.setBeanClass(type);//www . jav  a  2 s . c om
    if (scope != null)
        beanDefinition.setScope(scope.getType());
    beanDefinition.setAutowireCandidate(true);
    lock.writeLock().lock();
    try {
        final AutowireCapableBeanFactory factory = getContext().getAutowireCapableBeanFactory();
        final BeanDefinitionRegistry registry = (BeanDefinitionRegistry) factory;
        registry.registerBeanDefinition(id, beanDefinition);
        factory.autowireBeanProperties(this, AutowireCapableBeanFactory.AUTOWIRE_BY_TYPE, false);
    } finally {
        lock.writeLock().unlock();
    }
    return getBean(id);
}

From source file:pl.chilldev.web.spring.config.HandlePageModelBeanDefinitionParser.java

/**
 * {@inheritDoc}/*  w  w w.j  a va2s.c  o  m*/
 * @since 0.0.1
 */
@Override
public BeanDefinition parse(Element element, ParserContext parserContext) {
    // page model bean prototype
    GenericBeanDefinition pageMetaModelBean = new GenericBeanDefinition();
    pageMetaModelBean.setBeanClass(PageMetaModel.class);
    pageMetaModelBean.setScope(WebApplicationContext.SCOPE_REQUEST);
    pageMetaModelBean.setFactoryBeanName(PageMetaModelFactoryBean.class.getName());
    pageMetaModelBean.setFactoryMethodName(HandlePageModelBeanDefinitionParser.METHOD_CREATEPAGEMETAMODEL);
    parserContext.getRegistry().registerBeanDefinition(PageMetaModel.class.getName(), pageMetaModelBean);

    parserContext.getRegistry().registerBeanDefinition(PageMetaModelFactoryBean.class.getName(),
            this.pageMetaModelFactoryBean);

    // XHTML switch needs to be handled with generator bean
    if (element.hasAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML)) {
        boolean xhtml = element.getAttribute(HandlePageModelBeanDefinitionParser.ATTRIBUTE_XHTML)
                .equals("true");

        GenericBeanDefinition generatorBean = new GenericBeanDefinition();
        generatorBean.setBeanClass(Generator.class);

        this.logger.info("Setting markup generator XHTML mode to {}.", xhtml);
        ConstructorArgumentValues arguments = generatorBean.getConstructorArgumentValues();
        arguments.addGenericArgumentValue(xhtml);

        parserContext.getRegistry().registerBeanDefinition(Generator.class.getName(), generatorBean);

        arguments = pageMetaModelBean.getConstructorArgumentValues();
        arguments.addGenericArgumentValue(new RuntimeBeanReference(Generator.class.getName()));
    }

    // register new resolving strategy
    PageMetaModelContextUtils.setPageMetaModelResolver(new SpringBeansJspPageMetaModelResolver());
    pl.chilldev.web.faces.context.PageMetaModelContextUtils
            .setPageMetaModelResolver(new SpringBeansFacesPageMetaModelResolver());

    return null;
}

From source file:guru.qas.martini.annotation.StepsAnnotationProcessorTest.java

@Test(expectedExceptions = FatalBeanException.class)
public void testNonSingletonSteps() {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("emptyContext.xml");
    ConfigurableListableBeanFactory factory = context.getBeanFactory();

    GenericBeanDefinition definition = new GenericBeanDefinition();
    definition.setBeanClass(DuplicateGivenBeanA.class);
    definition.setLazyInit(false);//w  w w .ja  va2 s  .c o  m
    definition.setScope("prototype");

    BeanDefinitionRegistry registry = BeanDefinitionRegistry.class.cast(factory);
    registry.registerBeanDefinition(DuplicateGivenBeanA.class.getName(), definition);
    process(context, new DuplicateGivenBeanA());
}