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

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

Introduction

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

Prototype

void setDependsOn(@Nullable String... dependsOn);

Source Link

Document

Set the names of the beans that this bean depends on being initialized.

Usage

From source file:io.github.hzpz.spring.boot.autoconfigure.mongeez.MongoDbFactoryDependsOnPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
    for (String beanName : getMongoDbFactoryBeanNames(beanFactory)) {
        BeanDefinition definition = getBeanDefinition(beanName, beanFactory);
        definition.setDependsOn(StringUtils.addStringToArray(definition.getDependsOn(), this.dependsOn));
    }// w  ww  .  ja  v a  2 s. c o m

}

From source file:org.zalando.spring.data.businesskey.config.BusinessKeyBeanFactoryPostProcessor.java

public void postProcessBeanFactory(final ConfigurableListableBeanFactory beanFactory) throws BeansException {

    try {//from w  w w  .j  a v a2 s  .c om
        getBeanDefinition(BEAN_CONFIGURER_ASPECT_BEAN_NAME, beanFactory);
    } catch (NoSuchBeanDefinitionException o_O) {
        throw new IllegalStateException(
                "Invalid auditing setup! Make sure you've used @EnableJpaAuditing or <jpa:auditing /> correctly!",
                o_O);
    }

    for (String beanName : getEntityManagerFactoryBeanNames(beanFactory)) {
        BeanDefinition definition = getBeanDefinition(beanName, beanFactory);
        definition.setDependsOn(addStringToArray(definition.getDependsOn(), BEAN_CONFIGURER_ASPECT_BEAN_NAME));
    }

    // for (String beanName : beanNamesForTypeIncludingAncestors(beanFactory, BusinessKeyGenerator.class, true, false)) {
    // BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
    // definition.setLazyInit(true);
    // }
}

From source file:org.synyx.hades.domain.auditing.support.AuditingBeanFactoryPostProcessor.java

public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {

    if (!isSpringConfigured(beanFactory)) {
        return;/*ww  w  .ja  va  2 s.  c  o m*/
    }

    for (String beanName : beanFactory.getBeanDefinitionNames()) {

        BeanDefinition definition = beanFactory.getBeanDefinition(beanName);

        if (CLASSES_TO_DEPEND.contains(definition.getBeanClassName())) {
            definition.setDependsOn(
                    StringUtils.addStringToArray(definition.getDependsOn(), BEAN_CONFIGURER_ASPECT_BEAN_NAME));
        }
    }

    for (String beanName : BeanFactoryUtils.beanNamesForTypeIncludingAncestors(beanFactory, AuditorAware.class,
            true, false)) {
        BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
        definition.setLazyInit(true);
    }
}

From source file:example.app.config.gemfire.GemFireDependsOnBeanFactoryPostProcessor.java

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

    for (String beanName : gemfireCacheBeanNames(beanFactory)) {
        BeanDefinition bean = beanFactory.getBeanDefinition(beanName);
        List<String> beanDependencies = new ArrayList<>(asList(bean.getDependsOn()));
        beanDependencies.addAll(dependsOnBeanNames);
        bean.setDependsOn(beanDependencies.toArray(new String[beanDependencies.size()]));
    }//from w w w .  j a  va 2s .  com
}

From source file:org.eclipse.gemini.blueprint.blueprint.container.support.internal.config.CycleOrderingProcessor.java

private void addSyntheticDependsOn(BeanDefinition definition, String beanName) {
    if (StringUtils.hasText(beanName)) {
        String[] dependsOn = definition.getDependsOn();
        if (dependsOn != null && dependsOn.length > 0) {
            for (String dependOn : dependsOn) {
                if (beanName.equals(dependOn)) {
                    return;
                }//from  ww w.  jav a2 s.c  om
            }
        }

        // add depends on
        dependsOn = (String[]) ObjectUtils.addObjectToArray(dependsOn, beanName);
        definition.setDependsOn(dependsOn);
        Collection<String> markers = (Collection<String>) definition.getAttribute(SYNTHETIC_DEPENDS_ON);
        if (markers == null) {
            markers = new ArrayList<String>(2);
            definition.setAttribute(SYNTHETIC_DEPENDS_ON, markers);
        }
        markers.add(beanName);
    }
}

From source file:org.statefulj.framework.core.StatefulFactory.java

private String registerStatefulFSMBean(ReferenceFactory referenceFactory, Class<?> statefulClass,
        String fsmBeanId, String factoryId, List<String> transitionIds, BeanDefinitionRegistry reg) {
    String statefulFSMBeanId = referenceFactory.getStatefulFSMId();
    BeanDefinition statefulFSMBean = BeanDefinitionBuilder.genericBeanDefinition(StatefulFSMImpl.class)
            .getBeanDefinition();//from   www  .j a  v  a 2s . c o m
    ConstructorArgumentValues args = statefulFSMBean.getConstructorArgumentValues();
    args.addIndexedArgumentValue(0, new RuntimeBeanReference(fsmBeanId));
    args.addIndexedArgumentValue(1, statefulClass);
    args.addIndexedArgumentValue(2, new RuntimeBeanReference(factoryId));
    reg.registerBeanDefinition(statefulFSMBeanId, statefulFSMBean);
    statefulFSMBean.setDependsOn(transitionIds.toArray(new String[] {}));
    return statefulFSMBeanId;
}