Strong,

Looks good, nice unit tests also!  :)

Scott

On 08/16/2011 12:13 AM, Strong Liu wrote:
> Hello guys,
>
> I just pushed the fix of this issue to my folk, take a look 
> https://github.com/stliu/jboss-as/commit/4f8bce12c6cc90415d697d321442f827287cde1c
>
> as https://docs.jboss.org/author/display/AS7/JPA+Reference+Guide said, there 
> are 3 ways to use hibernate (different version) in AS7
> 1. the default/bundled one, hibernate core 4, in as7
> 2. bundle hibernate jars in app (hibernate-bundled property)
> 3. create a shared hibernate 3 module (with slot 3)
>
> so, here are how to use envers within these 3 cases:
> 1. use bundled envers module, nothing specical needed, just annotate envers 
> annotations to your entity
> 2. bundle envers along with hibernate 3 jars in your app, and set envers 
> listeners (check envers doc)
> 3. create a org.hibernate.envers:main:3 module (not tested yet)
>
> note: you need to use hibernate-core build from source (HHH-6573)
>
>
> -----------
> Strong Liu<st...@hibernate.org>
> http://hibernate.org
> http://github.com/stliu
>
> On Aug 4, 2011, at 8:35 PM, Scott Marlow wrote:
>
>> On 08/04/2011 04:05 AM, Strong Liu wrote:
>>>
>>> -----------
>>> Strong Liu<st...@hibernate.org>
>>> http://hibernate.org
>>> http://github.com/stliu
>>>
>>> On Aug 4, 2011, at 2:48 AM, Adam Warski wrote:
>>>
>>>>
>>>> On Aug 3, 2011, at 5:44 PM, 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.
>>>>> 2. org.hibernte.envers module automaticly injected into app when it is a 
>>>>> jpa project.
>>>>> 3. 
>>>>> org.jboss.as.testsuite.integration.jpa.hibernate.envers.BasicEnversTestCase
>>>>>  in as7/testsuite/integration passes
>>>>> 4. use org.hibernate.integrator.internal.ServiceLoader instead 
>>>>> java.util.ServiceLoader to load META-INF/services file
>>>>> this custom ServiceLoader uses ClassLoaderService.
>>>>>
>>>>> sounds okay?
>>>>
>>>>
>>>> Great! :) Can't wait to see it in the main repo ;)
>>>>
>>>> I also managed to make an envers module for AS7, as I already described on 
>>>> the forum. What you need is a:
>>>> * new module with the envers jar and following deps:
>>>>     <module name="org.hibernate"/>
>>>>     <module name="org.jboss.logging"/>
>>>>     <module name="org.dom4j"/>
>>>>     <module name="javax.api"/>
>>>>     <module name="javax.persistence.api"/>
>>>>     <module name="javax.transaction.api"/>
>>>>     <module name="org.javassist"/>
>>>> * Dependencies: org.hibernate.envers services in your META-INF
>>>>
>>>> What I didn't realize before (and that's why I couldn't make it working) 
>>>> is that the dependencies declaration in the app's meta-inf affects the 
>>>> interaction between modules.
>>>>
>>>> Still the bundled-envers-only-inside-app scenario doesn't work. But I'm 
>>>> not sure it's valid any more, as I've got it working in AS7 and you've 
>>>> done the integration for AS7.1. So do you still need the demo app?
>>>
>>> yeah, that's may not valid anymore, if users want to use hibernate envers 
>>> 3, it should bundle both hibernate core and envers 3 into app, right, Scott?
>>
>> Some doc on bundling hibernate 3 is included here 
>> https://docs.jboss.org/author/display/AS7/JPA+Reference+Guide (contributions 
>> to the Confluence doc are easy to make and welcome ;)
>>
>> Some users are starting to experiment with the AS 7.0.1 support for bundling 
>> Hibernate 3 for JPA usage.  Some are also using the ability to manually 
>> create a shared Hibernate 3 module.  As of yesterday, I made a slight change 
>> to the organization of the Hibernate modules on AS 7.0.1.  Rather than 
>> including version numbers in the module name, I'm using the AS7 module 
>> "slot" mechanism to version the module contents.  So, module "org.hibernate" 
>> contains a slot (really a sub-folder) named "main" for Hibernate 4 and can 
>> contain a slot named "3" for Hibernate 3.
>>
>> In theory, someone could try bundling envers 3 if they are bundling 
>> Hibernate 3 with their app.  If they are creating their own 
>> "as7/modules/org/hibernate/3" sub-folder to hold the Hibernate 3 jars, they 
>> could put the jar in there or create a new "3" slot in the envers module 
>> folder (would have envers/main for Hibernate4 and envers/3 for Hibernate3).  
>> Creating the "3" slot (with contents) is left as an exercise for the user.
>>
>> Strong, have you synced your patch with the AS7 master yet?  I restructured 
>> things a bit in the last few weeks, to better support multiple persistence 
>> providers.  A few more changes are needed but the major rework is done.  The 
>> AS7 jpa source tree, is now broken into core, spi, hibernate3, hibernate4.  
>> The Hibernate folders contain integration classes for their respective 
>> Hibernate versions.  On a private branch, I started creating a generic 
>> integration adapter that might be used for other providers (not sure if that 
>> will work yet, might need to have provider specific integration classes 
>> external to AS7).
>>
>> I probably gave more information than you wanted for the question. :)
>>
>> Scott
>>>>
>>>> Adam
>>>>
>>>> --
>>>> Adam Warski
>>>>
>>>> http://twitter.com/#!/adamwarski
>>>> http://www.softwaremill.com
>>>> http://www.warski.org
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>

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

Reply via email to