On 07/08/2014 05:04 PM, Scott Marlow wrote:
I was hoping to hear more feedback from the above link but didn't. I
suspect that its a classloader issue with ear sub-deployments having
Hibernate on their classpath but not the ear top level classloader.
On 07/08/2014 03:53 PM, Gail Badner wrote:
> HHH-8310  mentions a Spring bug SPR-11125  that results in threads having a
different ContextClassLoader (CCL) than their caller. As a result,
SerializableBlobProxy.generateProxy() throws IllegalArgumentException because WrappedBlob
is not found. The same happens for SerializableClobProxy.generateProxy() because
WrappedClob is not found.
> IIUC, this will be fixed by accessing the ClassLoaderService in Hibernate 5.
> I'm looking for either a fix or workaround for this in Hibernate 4.2.x and
> A) A possible fix for HHH-8310 suggests using the ClassLoader returned by
WrappedBlob.class.getClassLoader(). Could this somehow get an unintended ClassLoader?
Good question but this change might impact HHH-8010. Might be good to
check with Brett on why OSGi needs to use an alternative classloader
(which is set in ClassLoaderHelper).
> B) A workaround is for the caller to initialize
ClassLoaderHelper.overridenClassLoader before calling Spring.
I don't think this will work in a multiple deployment environment (e.g.
WildFly) unless ClassLoaderHelper defaulted to the ORM classloader
instead of an application level classloader.
> Which would be more appropriate?
>  https://hibernate.atlassian.net/browse/HHH-8310
>  https://jira.spring.io/browse/SPR-11125
> hibernate-dev mailing list
hibernate-dev mailing list