Hello,

> 1. adding envers into org.hibernate module in as7, so user's app can see both 
> hibernate and envers class
> (with an separate envers module i ran into some cycle dependency issue)

So something depends on Envers?

> 2. envers throws "listeners were not registed" exception, means hibernate's 
> IntegratorServiceImpl can't see envers class/resource
> 
> IntegratorServiceImpl is using java.util.ServiceLoader#load(Class<S> 
> service), which internally using TCCL, (I think) 
> that's the reason  why core can't see envers' integrator. 
> 
> so, i created a custom ServiceLoader which use ClassLoaderService to find the 
> integrator, but this doesn't work either.
> since, we need 
> org.hibernate.service.classloading.internal.ClassLoaderServiceImpl#locateResources
>  first (META-INF/services/org.hibernate.integrator.spi.Integrator) and 
> ClassLoaderServiceImpl using resourceClassLoader to do this.
> by default, resourceClassLoader is set to applicationClassLoader in 
> ClassLoaderServiceImpl.
> 
> then, i changed IntegratorServiceImpl to use 
> java.util.ServiceLoader#load(Class<S> service, 
> IntegratorServiceImpl.class.getClassLoader()
> ), test pass, but this of course is not the fix. 
> 
> so, i changed the custom ServiceLoader to use classLoaderService to 
> locateResources first, and using ServiceLoader.class.getClassLoader() to 
> reload the resource again.
> 
> here are the changes:
> https://github.com/stliu/hibernate-core/commit/09ce5defabea8cfb87d06c3d7b9bc1a2c613f62c
> https://github.com/stliu/jboss-as/commit/616237755626672157fb2ae565fadb16cf47af89
> 
> thoughts?

I wish I could help here, but regarding Integrators and the way they are 
discovered I guess Steve is the best person :).
Although if it's working - great!

-- 
Adam Warski

http://twitter.com/#!/adamwarski
http://www.warski.org
http://www.softwaremill.eu







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

Reply via email to