On 30/11/2009, at 10:29 PM, Pete Muir wrote:
Why are you doing this?
The ShutdownManager and ParametersFactory beans are currently discovered using
conventional classpath scanning. IE: there is a /META-INF/beans.xml in the weld-se jar.
Therefore when I create a shaded jar of Weld SE, every class in the dependant jars gets
picked up as a simple bean, which obviously wreaks havoc.
We had this working properly, just passing in the classes to scan in
the past using bootstrap.
Not sure what you mean, but if it's easier I'm all ears :).
All of this stuff you are accessing is internal impl detail in Weld,
it is *not* part of the Weld SPI...
Yeah I know but since this part of Weld SE and doesn't need to be portable I just went
with the easiest classes to work with. If I need to continue down this path I'll hit
you up for some pointers.
Pete.
On 29 Nov 2009, at 23:21, Peter Royle wrote:
> 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.
>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/weld-dev