Don't break deployment if java can't read all the annotations
-------------------------------------------------------------

                 Key: OWB-497
                 URL: https://issues.apache.org/jira/browse/OWB-497
             Project: OpenWebBeans
          Issue Type: Bug
          Components: Core
    Affects Versions: 1.1.0
            Reporter: David Jencks
            Assignee: Gurkan Erdogdu
             Fix For: 1.1.0


Running the jsr303 tck with OWB installed in geronimo we run into a bunch of 
exceptions that I think must be a jdk bug: calling a method that causes the 
annotations on a class to be initialized (clazz.getAnnotations() for instance) 
throws and exception

Caused by: java.lang.ArrayStoreException: 
sun.reflect.annotation.TypeNotPresentExceptionProxy
        at 
sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
        at 
sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
        at 
sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
        at 
sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
        at 
sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
        at 
sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
        at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
        at java.lang.Class.getAnnotation(Class.java:3029)
        at 
org.apache.webbeans.util.AnnotationUtil.hasClassAnnotation(AnnotationUtil.java:865)
        at 
org.apache.webbeans.config.BeansDeployer.checkSpecializations(BeansDeployer.java:620)


Googling this is supposedly caused by an annotation (whose class is loadable) 
having a value whose class is missing.  In my particular case I can't verify 
this as the cause.

In any case, OWB seems to have a policy that if a class can't have its 
annotations read (e.g. ClassNotFoundException or NoClassDefFoundError) we 
ignore it.  I think this policy should be extended to when this exception 
occurs.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to