[weld-dev] weld-802

Ales Justin ales.justin at gmail.com
Sat Nov 19 18:42:44 EST 2011


"Bar extends Foo"

The problem is that both Bar and Foo are added as AnnotatedType against ClassTransformer,
and eventually deployed as such.

But WeldClassImpl::superclass is looked-up against ClassTransformer::classes --> diff WC_Foo instances

> ClassTransformer
> 
>     private final ConcurrentMap<TypeHolder<?>, WeldClass<?>> classes;
>     private final ConcurrentMap<AnnotatedType<?>, WeldClass<?>> annotatedTypes;
> 
> ... and no equals/hash impl on WeldClassImpl ...
> 
> 
>> WELD-802 is due to WeldClassImpl not being the same for same class:
>> 
>> clazz = {java.lang.Class at 5703}"class org.jboss.weld.tests.specialization.weld802.Foo"
>> weldClass = {org.jboss.weld.introspector.jlr.WeldClassImpl at 5687}"public at RequestScoped class org.jboss.weld.tests.specialization.weld802.Foo" 
>> 
>> --
>> 
>> key: org.jboss.weld.introspector.jlr.WeldClassImpl = {org.jboss.weld.introspector.jlr.WeldClassImpl at 5709}"public at RequestScoped class org.jboss.weld.tests.specialization.weld802.Foo"
>> value: org.jboss.weld.bean.ManagedBean = {org.jboss.weld.bean.ManagedBean at 5961}"Managed Bean [class org.jboss.weld.tests.specialization.weld802.Foo] with qualifiers [@Any @Default]" 
>> 
>> ... investigating further ...
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/weld-dev/attachments/20111120/3889bee6/attachment.html 


More information about the weld-dev mailing list