[weld-dev] Initialising newly registered beans
Peter Royle
howardmoon at screamingcoder.com
Sun Nov 29 18:21:22 EST 2009
Hi,
I've got this extension which I'm using to explicitly register all of the managed beans used by Weld Java SE:
public class WeldSEBeanRegistrant implements Extension
{
private final ClassTransformer transformer = new ClassTransformer(new TypeStore());
public void registerWeldSEBeans(@Observes AfterBeanDiscovery event, BeanManagerImpl beanManager)
{
addBean(ShutdownManager.class, beanManager, event);
addBean(ParametersFactory.class, beanManager, event);
}
private void addBean(final Class<?> klass, BeanManagerImpl beanManager, AfterBeanDiscovery event)
{
WeldClass<?> weldClass = WeldClassImpl.of(klass, transformer);
ManagedBean<?> bean = ManagedBean.of(weldClass, beanManager);
event.addBean(bean);
bean.initialize( ___environment___);
}
}
My question is: where should I get the value for ___environment___ from? Is there common idiom for this?
I feel like if I could get access to the 'parent' variable at WeldBootstrap:199 I could call it.getBeanDeployer().getEnvironment() ... but I could be way off!
Cheers,
Pete.
More information about the weld-dev
mailing list