[ 
https://issues.apache.org/jira/browse/BVAL-108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15593055#comment-15593055
 ] 

Matt Benson commented on BVAL-108:
----------------------------------

The surrounding code has changed quite a bit since this was filed, but the 
issue likely still exists. What would be most helpful is a runnable example of 
a failure in an OSGI environment, if by chance the reporter is still tuned in.

> PrivilegedActions.getClassLoader(Class clazz) prefers thread context 
> classloader over passed in type's classloader
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: BVAL-108
>                 URL: https://issues.apache.org/jira/browse/BVAL-108
>             Project: BVal
>          Issue Type: Bug
>            Reporter: Ryan Heinen
>         Attachments: BVAL-108.patch
>
>
> The getClassLoader(Class clazz) method in PrivilegedActions.java will prefer 
> the thread context class loader over the class loader available from the 
> passed in type.
> This is unexpected when looking at the method, and appears to be a bug. 
> Similar to BVAL-89 this fails in an OSGi environment. 
> AnnotationProxyBuilder.createAnnotation uses this method to load annotations 
> from types to be validated, and should be using the classloader of the 
> requested type, or it will be unable to find them.
> This means that BVAL-89 is still an issue. Although that fix changed the 
> createAnnotation method so it calls PrivilegedActions.getClassLoader, the 
> getClassLoader is still returning the wrong class loader.
> The attached patch reverses the order of class loader retrieval in that 
> method. If it is unable to get the class loader from the provided type, it 
> will fall back to the thread context class loader rather than the other way 
> around.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to