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