[weld-dev] weld-802

Pete Muir pmuir at redhat.com
Mon Nov 21 06:08:04 EST 2011


With this just remember that there can be >1 WeldClass per real class!

On 19 Nov 2011, at 23:42, Ales Justin wrote:

> "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 ...
>>> 
>> 
> 
> _______________________________________________
> weld-dev mailing list
> weld-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/weld-dev




More information about the weld-dev mailing list