[
https://issues.jboss.org/browse/AS7-4713?page=com.atlassian.jira.plugin.s...
]
Scott Marlow commented on AS7-4713:
-----------------------------------
Randall,
In response to your question.
{quote}
The behavior of invocations of the first form shouldn't change, since the caller is
supplying the class loader. However, invocations of the second form will experience
different behavior. With this change, the ReflectClass will no longer be in the same class
loader as Hibernate Core.
{quote}
[Hibernate EntityManager has a call to ReflectHelper
here|https://github.com/hibernate/hibernate-orm/blob/master/hibernate-ent...].
This code is activated for property *hibernate.ejb.interceptor.session_scoped*, which
specifies the application name of an org.hibernate.Interceptor class. The call to
ReflectClass looks like this:
{code}
sessionInterceptorClass =
ReflectHelper.classForName( (String) localSessionInterceptor, EntityManagerImpl.class
);
{code}
The thread context classloader will handle the application classes and if the classname is
a Hibernate class (e.g. org.hibernate.EmptyInterceptor), the EntityManagerImpl.class
classloader will be able to load that (when it calls Class.forName( name, true,
caller.getClassLoader() ) where caller = EntityManagerImpl.class).
Hibernate Envers also depends on hibernate-commons-annotations but doesn't directly
reference ReflectHelper. I don't see any direct or indirect calls to the
ReflectHelper.classForName(String). I agree that with the AS7-4713 fix applied, that
don't involve an application class, will likely fail to load.
I don't see any calls to ReflectHelper.classForName(String).
Move hibernate-commons-annotations into a separate module that
hibernate search can also use
--------------------------------------------------------------------------------------------
Key: AS7-4713
URL:
https://issues.jboss.org/browse/AS7-4713
Project: Application Server 7
Issue Type: Task
Components: JPA / Hibernate
Reporter: Sanne Grinovero
Assignee: Scott Marlow
Fix For: 7.1.2.Final (EAP)
This jar file is used by several other projects which don't need Hibernate as a
dependency; if we don't split it we will either have duplicate jars, (and in the case
of Hibernate Search even possible conflicts) or all these modules will need to include
Hibernate, getting then bound to a specific version for a long time (while support times
don't match).
As a welcome side-effect, applications depending on Hibernate won't be able to see
this module, which is a good thing as this is not intended to be a public API.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira