Skip to content

Instantly share code, notes, and snippets.

@Kotlin-Native
Last active August 29, 2015 14:24
Show Gist options
  • Select an option

  • Save Kotlin-Native/9e48533ce399d6a4b96f to your computer and use it in GitHub Desktop.

Select an option

Save Kotlin-Native/9e48533ce399d6a4b96f to your computer and use it in GitHub Desktop.
DependencyRegisteringPostProcessor
public class DependencyRegisteringPostProcessor
implements BeanFactoryPostProcessor {
private BeanManager beanManager;
private List<Bean<Object>> cdiBeans;
public DependencyRegisteringPostProcessor(BeanManager beanManager, List<bean><object>>cdiBeans) {
this.beanManager = beanManager;
this.cdiBeans = cdiBeans;
}
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
throws BeansException {
BeanDefinitionRegistry registry = (BeanDefinitionRegistry)beanFactory;
Map<String, Object> beans = new HashMap<String, Object>();
for (Bean<Object> bean : cdiBeans) {
BeanDefinition beanDefinition = createBeanDefinition(bean);
String beanName = createBeanName(bean, beanDefinition, registry);
registry.registerBeanDefinition(beanName, beanDefinition);
beans.put(beanName, bean);
}
CdiScope cdiScope = new CdiScope(beanManager, beans);
beanFactory.registerScope(CdiScope.class.getName(), cdiScope);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment