[jboss-jira] [JBoss JIRA] (AS7-4713) Move hibernate-commons-annotations into a separate module that hibernate search can also use

Scott Marlow (JIRA) jira-events at lists.jboss.org
Fri May 4 23:34:17 EDT 2012


    [ https://issues.jboss.org/browse/AS7-4713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12690571#comment-12690571 ] 

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-entitymanager/src/main/java/org/hibernate/ejb/EntityManagerImpl.java#L78].  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

        


More information about the jboss-jira mailing list