@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { String[] autoInitBeanNames = beanFactory.getBeanNamesForType(AbstractCacheAutoInit.class, false, false); if (autoInitBeanNames != null) { BeanDefinition bd = beanFactory.getBeanDefinition(JetCacheAutoConfiguration.GLOBAL_CACHE_CONFIG_NAME); String[] dependsOn = bd.getDependsOn(); if (dependsOn == null) { dependsOn = new String[0]; } int oldLen = dependsOn.length; dependsOn = Arrays.copyOf(dependsOn, dependsOn.length + autoInitBeanNames.length); System.arraycopy(autoInitBeanNames,0, dependsOn, oldLen, autoInitBeanNames.length); bd.setDependsOn(dependsOn); } }
private void addTransactionManagerDependencies( ConfigurableListableBeanFactory beanFactory, String transactionManager) { BeanDefinition bean = beanFactory.getBeanDefinition(transactionManager); Set<String> dependsOn = new LinkedHashSet<>(asList(bean.getDependsOn())); int initialSize = dependsOn.size(); addDependencies(beanFactory, "javax.jms.ConnectionFactory", dependsOn); addDependencies(beanFactory, "javax.sql.DataSource", dependsOn); if (dependsOn.size() != initialSize) { bean.setDependsOn(StringUtils.toStringArray(dependsOn)); } }
private void addMessageDrivenContainerDependencies( ConfigurableListableBeanFactory beanFactory, String[] transactionManagers) { String[] messageDrivenContainers = getBeanNamesForType(beanFactory, "com.atomikos.jms.extra.MessageDrivenContainer"); for (String messageDrivenContainer : messageDrivenContainers) { BeanDefinition bean = beanFactory.getBeanDefinition(messageDrivenContainer); Set<String> dependsOn = new LinkedHashSet<>(asList(bean.getDependsOn())); dependsOn.addAll(asList(transactionManagers)); bean.setDependsOn(StringUtils.toStringArray(dependsOn)); } }
@Override protected void parseNested(Element element, ParserContext parserContext, BeanDefinitionBuilder builder, BeanDefinition bd) { bd.setDependsOn(element.getAttribute( RedissonNamespaceParserSupport.REDISSON_REF_ATTRIBUTE)); List<Element> childElements = DomUtils.getChildElements(element);
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { try { 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)); } } }
@Override protected void parseNested(Element element, ParserContext parserContext, BeanDefinitionBuilder builder, BeanDefinition bd) { bd.setDependsOn(element.getAttribute( RedissonNamespaceParserSupport.REDISSON_REF_ATTRIBUTE)); List<Element> childElements = DomUtils.getChildElements(element);
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { BeanDefinition definition = beanFactory.getBeanDefinition("feignContext"); definition.setDependsOn("eurekaServiceRegistry", "inetUtils"); } }
beanDef.setDependsOn(concat(beanDef.getDependsOn(), dependsOnArray));
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { BeanDefinition definition = beanFactory.getBeanDefinition("feignContext"); definition.setDependsOn("eurekaServiceRegistry", "inetUtils"); } }
public class DependencyConfigurer implements BeanFactoryPostProcessor { private Map<String, String[]> dependencies = new HashMap<String, String[]>(); @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { for (String beanName : dependencies.keySet()) { BeanDefinition bd = beanFactory.getBeanDefinition(beanName); bd.setDependsOn(dependencies.get(beanName)); } } public Map<String, String[]> getDependencies() { return dependencies; } public void setDependencies(Map<String, String[]> dependencies) { this.dependencies = dependencies; } }
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { BeanDefinition loaderDef = beanFactory.getBeanDefinition("TLABPostProcessorLoader"); String[] tlabs = beanFactory.getBeanNamesForType(TargetListAggregatingBean.class, false, false); loaderDef.setDependsOn(tlabs); } }
public class DependsOnPostProcessor implements BeanFactoryPostProcessor { @Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { String[] beanNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors( beanFactory, B.class, true, false); for (String beanName : beanNames) { BeanDefinition definition = beanFactory.getBeanDefinition(beanName); definition.setDependsOn(StringUtils.addStringToArray( definition.getDependsOn(), "beanNameOfB"); } } }
public static BeanDefinition addDependsOn(BeanDefinition bean, String... beanNames) { List<String> dependsOnList = new ArrayList<>(); Collections.addAll(dependsOnList, nullSafeArray(bean.getDependsOn(), String.class)); dependsOnList.addAll(Arrays.asList(nullSafeArray(beanNames, String.class))); bean.setDependsOn(dependsOnList.toArray(new String[dependsOnList.size()])); return bean; }
public static BeanDefinition addDependsOn(BeanDefinition bean, String... beanNames) { List<String> dependsOnList = new ArrayList<>(); Collections.addAll(dependsOnList, nullSafeArray(bean.getDependsOn(), String.class)); dependsOnList.addAll(Arrays.asList(nullSafeArray(beanNames, String.class))); bean.setDependsOn(dependsOnList.toArray(new String[dependsOnList.size()])); return bean; }
private void setupDependsOn(ConfigurableListableBeanFactory beanFactory, String dataSourceBeanName) { BeanDefinition dataSourceBeanDefinition = beanFactory.getBeanDefinition(dataSourceBeanName); List<String> dependsOnExisting = asList(dataSourceBeanDefinition.getDependsOn()); dependsOnExisting.addAll(asList(dependsOn)); dataSourceBeanDefinition.setDependsOn(dependsOnExisting.toArray(new String[]{})); }
/** * Adds the PDX Disk Store bean name as a dependency at the beginning of the list of dependencies declared * by the Bean. * * @param beanDefinition the BeanDefinition to add the PDX Disk Store dependency to. * @see #getDependsOn(org.springframework.beans.factory.config.BeanDefinition) * @see org.springframework.beans.factory.config.BeanDefinition#setDependsOn(String[]) */ private void addPdxDiskStoreDependency(BeanDefinition beanDefinition) { String[] newDependsOn = (String[]) ArrayUtils.insert(getDependsOn(beanDefinition), 0, getPdxDiskStoreName()); beanDefinition.setDependsOn(newDependsOn); }
/** * Adds the PDX Disk Store bean name as a dependency at the beginning of the list of dependencies declared * by the Bean. * * @param beanDefinition the BeanDefinition to add the PDX Disk Store dependency to. * @see #getDependsOn(org.springframework.beans.factory.config.BeanDefinition) * @see org.springframework.beans.factory.config.BeanDefinition#setDependsOn(String[]) */ private void addPdxDiskStoreDependency(BeanDefinition beanDefinition) { String[] newDependsOn = (String[]) ArrayUtils.insert(getDependsOn(beanDefinition), 0, getPdxDiskStoreName()); beanDefinition.setDependsOn(newDependsOn); }
@Override public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) { try { 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)); } } }
public void postProcessBeanFactory(final ConfigurableListableBeanFactory beanFactory) throws BeansException { try { 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); // } }
@Override public void initialize(GenericApplicationContext context) { context.registerBean(MongoClientSettingsBuilderCustomizer.class, () -> new MongoReactiveAutoConfiguration.NettyDriverConfiguration().nettyDriverCustomizer(context.getDefaultListableBeanFactory().getBeanProvider(MongoClientSettings.class))); context.registerBean(MongoClient.class, () -> new MongoReactiveAutoConfiguration(context.getBeanProvider(MongoClientSettings.class)).reactiveStreamsMongoClient(this.properties, context.getEnvironment(), context.getBeanProvider(MongoClientSettingsBuilderCustomizer.class)), (definition) -> { if (embeddedServer) { definition.setDependsOn("embeddedMongoServer"); } }); } }