On Aug 4, 2011, at 12:56 AM, Scott Marlow wrote:

> On 08/03/2011 11:44 AM, Strong Liu wrote:
>> Hi there,
>> 
>> I get envers embedded into as7 :D
>> 
>> see below:
>> 
>> https://github.com/stliu/hibernate-core/tree/classloading
>> https://github.com/stliu/jboss-as/tree/as7-928-2
>> 
>> 1. org.hibernate module and org.hibernate.envers module depends on each 
>> other.
> 
> We might make the Hibernate to envers dependency optional in the 
> org.hibernate module.xml:
>   <module name="org.envers" optional="true"/>
> So, that it is possible for the envers module to be removed for some reason 
> (I cannot think of why at the moment but just a thought).

okay

> 
>> 2. org.hibernte.envers module automaticly injected into app when it is a jpa 
>> project.
> 
> This is where it gets tricky to package envers with the app.  Have you synced 
> up with AS7 (7.0.1) master yet?  I have another change coming that could 
> impact yours (in queue waiting to be merged).
> 
> Anyway, start with packaging envers as a standalone module and try bringing a 
> envers test into the as7/testsuite/compat/* based on the current embedded 
> test (there are only two tests and one is @Ignored).
> 
>> 3. 
>> org.jboss.as.testsuite.integration.jpa.hibernate.envers.BasicEnversTestCase 
>> in as7/testsuite/integration passes
> 
> Nice work!  :-)
> 
>> 4. use org.hibernate.integrator.internal.ServiceLoader instead 
>> java.util.ServiceLoader to load META-INF/services file
>> this custom ServiceLoader uses ClassLoaderService.
>> 
>> sounds okay?
>> 
>> Scott, question, if there is envers.jar embedded in app too, will app class 
>> loader see it before the envers.jar in org.hibernate.envers module?
> 
> As mentioned above, special care is needed to avoid having two envers 
> classloaders in the app deployment.  We might have to make further changes to 
> not inject envers into the app, if the app already has its own hibernate + 
> envers.

I think there are 3 use cases:

1. hibernate core 4 and envers 4 in as7  -- as default, done

2. hibernate core 3 and envers 3 bundled in app  
as list in [1] (Packaging the Hibernate 3.x JPA persistence provider with your 
application)

if (hibernate3-bundled property is defined)
 do not add default envers module to app dependencies set
}

3. hibernate core 3 and envers 3 in as7 separate module
create hibernate core 3 module as [1] (Sharing the Hibernate 3.x JPA 
persistence provider between multiple applications)
create hibernate envers module with slot 3 ??



[1] https://docs.jboss.org/author/display/AS7/JPA+Reference+Guide

> 
>> 
>> -------------------------
>> Best Regards,
>> 
>> Strong Liu<stliu at redhat.com>
>> http://about.me/stliu/bio
>> 
>> 
>> 
>> On Aug 3, 2011, at 6:25 PM, Strong Liu wrote:
>> 
>>> 
>>> Begin forwarded message:
>>> 
>>>> 
>>>> Adam,
>>>> 
>>>> can you send your test app to me?
>>>> 
>>>> use cases:
>>>> 
>>>> 1. envers and hibernate core in as7
>>>> 2. envers jar in app, and hibernate core in as7
>>>> 3. envers and hibernate core in app
>>>> 
>>>> #1 is almost done, just need some code clean up
>>>> (Scott, we missed services="import", that's why ClassLoaderService can't 
>>>> find resource in envers/META-INF/services)
>>> 
>> 
> 


_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to