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