[
https://issues.apache.org/jira/browse/BVAL-108?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matt Benson resolved BVAL-108.
------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0
> 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
> Priority: Major
> Fix For: 2.0.0
>
> 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
(v7.6.3#76005)