本文整理了Java中org.springframework.beans.factory.config.BeanDefinition.setDependsOn()
方法的一些代码示例,展示了BeanDefinition.setDependsOn()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。BeanDefinition.setDependsOn()
方法的具体详情如下:
包路径:org.springframework.beans.factory.config.BeanDefinition
类名称:BeanDefinition
方法名:setDependsOn
[英]Set the names of the beans that this bean depends on being initialized. The bean factory will guarantee that these beans get initialized first.
[中]设置此bean依赖于初始化的bean的名称。bean工厂将保证首先初始化这些bean。
代码示例来源:origin: alibaba/jetcache
@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);
}
}
代码示例来源:origin: org.springframework.boot/spring-boot
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));
}
}
代码示例来源:origin: org.springframework.boot/spring-boot
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));
}
}
代码示例来源:origin: redisson/redisson
@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);
代码示例来源:origin: spring-projects/spring-data-jpa
@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));
}
}
}
代码示例来源:origin: redisson/redisson
@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);
代码示例来源:origin: Nepxion/Discovery
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
BeanDefinition definition = beanFactory.getBeanDefinition("feignContext");
definition.setDependsOn("eurekaServiceRegistry", "inetUtils");
}
}
代码示例来源:origin: resteasy/Resteasy
beanDef.setDependsOn(concat(beanDef.getDependsOn(), dependsOnArray));
代码示例来源:origin: Nepxion/Permission
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
BeanDefinition definition = beanFactory.getBeanDefinition("feignContext");
definition.setDependsOn("eurekaServiceRegistry", "inetUtils");
}
}
代码示例来源:origin: stackoverflow.com
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;
}
}
代码示例来源:origin: uk.org.ponder.rsf/rsf-core-servletutil
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
BeanDefinition loaderDef = beanFactory.getBeanDefinition("TLABPostProcessorLoader");
String[] tlabs = beanFactory.getBeanNamesForType(TargetListAggregatingBean.class, false, false);
loaderDef.setDependsOn(tlabs);
}
}
代码示例来源:origin: stackoverflow.com
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");
}
}
}
代码示例来源:origin: org.springframework.data/spring-data-geode
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;
}
代码示例来源:origin: org.springframework.data/spring-data-gemfire
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;
}
代码示例来源:origin: Playtika/testcontainers-spring-boot
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[]{}));
}
代码示例来源:origin: org.springframework.data/spring-data-geode
/**
* 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);
}
代码示例来源:origin: org.springframework.data/spring-data-gemfire
/**
* 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);
}
代码示例来源:origin: org.springframework.data/spring-data-jpa
@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));
}
}
}
代码示例来源:origin: org.zalando.spring/spring-data-jpa-businesskey
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);
// }
}
代码示例来源:origin: org.springframework.fu/spring-fu-autoconfigure-adapter
@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");
}
});
}
}
内容来源于网络,如有侵权,请联系作者删除!