Hi Kay!

CDI explicitly excludes non-static inner classes as Bean<T>. Exactly for the 
reason that they are only valid ‚inside‘ instances of their outer class.

I also wrote about it as a side note when explaining a few other pitfalls in 
java inner classes
https://struberg.wordpress.com/2014/11/13/explaining-java-inner-classes/

Feel free to ping back if you feel there is anything else we can do.

txs and LieGrue,
strub



> Am 14.06.2016 um 15:13 schrieb Kay Masslow <[email protected]>:
> 
> Hi all,
> 
> I would like to ask if the following is a known issue or if I am doing
> something completely the wrong way:
> 
> org.apache.webbeans.portable.AbstractAnnotatedCallable::setAnnotatedParameters(
>   Type[] genericParameterTypes,Annotation[][] parameterAnnotations)
> throws an ArrayIndexOutOfBoundsException because equal length is
> assumed for arrays "genericParameterTypes" and "parameterAnnotations".
> 
> However, this is not true for constructors of non-static inner classes
> because of the compiler generated constructor that has an extra first
> parameter for the outer class. Further explanation here:
> 
> https://github.com/google/guava/issues/1527#issuecomment-61352948
> http://thecodersbreakfast.net/index.php?post/2011/09/26/Inner-classes-and-the-myth-of-the-default-constructor
> 
> Unfortunately this issue is somewhat cumbersome to reproduce because
> it happens when running TomEE embedded 7.0.0 and using the Maven Shade
> plugin for a "fat" JAR. (No problems with 7.0.0.M3)
> 
> Example classes triggering the issue would be:
> 
> org.opensaml.xmlsec.keyinfo.impl.BasicKeyInfoGeneratorFactory$BasicKeyInfoGenerator
> in opensaml-xmlsec-impl-3.1.1
> org.opensaml.saml.metadata.resolver.impl.AbstractDynamicMetadataResolver
> 
> OpenWebBeans is 1.6.3, as shipped with TomEE embedded 7.0.0.
> 
> And this is my Java:
> java version "1.8.0_65"
> Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
> Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
> 
> 
> Thank you for investigating and sorry again if I the fault was mine.
> 
> Regards,
> Kay

Reply via email to