[hibernate-dev] ClassLoaders [was Re: Envers set up]

Steve Ebersole steve at hibernate.org
Thu Sep 16 08:52:54 EDT 2010


On Thu, 2010-09-16 at 10:19 +0200, Emmanuel Bernard wrote:
> I have a spot spot for (1). If I load an Hib class library, I use hibernate-cl, if I load an app class, I use application-cl etc.
> BTW what would be environment-cl?

The ClassLoader we'd use for JDBC classes.  Thats the only use case I
can think of at the moment.

> 
> On 15 sept. 2010, at 15:47, Steve Ebersole wrote:
> 
> > 
> > We will need access to multiple ClassLoader references though to always
> > be able to DoTheRightThing.  Just not sure the right "view" here.  Do
> > we:
> > 1) categorize these based on the role of the ClassLoader
> > (application-cl, hibernate-cl, environment-cl, etc)
> > 2) categorize them based on our specific needs (entity-cl, metadata-cl,
> > spi-cl, etc)
> > 
> > (2) sounds appealing but means we'd have many more categories.
> > 
> > On Wed, 2010-09-15 at 10:43 +0200, Andersen Max wrote:
> >> On Sep 14, 2010, at 16:47, Steve Ebersole wrote:
> >> 
> >>> "osgi land" in general is a problem.  
> >>> 
> >>> But yeah, I had even added a comment in this code that really we need to
> >>> allow passing in the ClassLoader to use.  In fact this is not osgi
> >>> specific.  In general JPA says we should use a specific ClassLoader for
> >>> these lookups in JEE deployments, namely the one given to use by the
> >>> container via PUI.  
> >>> 
> >>> In the JPA use-case this is not so difficult because we are physically
> >>> handed the ClassLoader we are supposed to use.  My (mis)understanding of
> >>> osgi is quite the opposite.
> >> 
> >> If there is an API to pass in the classloader it can be passed in by whatever code
> >> that is used to bootstrap the persistence manager.
> >> 
> >> /max
> >> 
> >>> 
> >>> On Tue, 2010-09-14 at 11:02 +0200, Andersen Max wrote:
> >>>> If this is done please make it super easy to disable that behavior - i.e. I don't want envers, search nor validator to be enabled by default when I run queries or reverse engineering from within tooling.
> >>>> 
> >>>> i.e. I believe Search has a property to disable the behavior which we use to avoid classloading conflicts in osgi land.
> >>>> /max
> >>>> 
> >>>> On Sep 13, 2010, at 11:49, Emmanuel Bernard wrote:
> >>>> 
> >>>>> I would favor such model ie. an automatic event registration when the lib is in the classpath.
> >>>>> We could generalize that actually to let any lib to register its event listeners (maybe something a la service locator).
> >>>>> Today Search and Validator have a specific hook in Core.
> >>>>> 
> >>>>> On 11 sept. 2010, at 09:20, Hardy Ferentschik wrote:
> >>>>> 
> >>>>>> In Search and Validator we enable the listeners when we detect Search res.  
> >>>>>> Validator on the classpath (with an option
> >>>>>> to explicitly not enable it). Maybe we could do the same with Envers?
> >>>>>> 
> >>>>>> --Hardy
> >>>>>> 
> >>>>>> On Fri, 10 Sep 2010 20:40:04 +0200, Steve Ebersole <steve at hibernate.org>  
> >>>>>> wrote:
> >>>>>> 
> >>>>>>> What do you think of an option that says "enable envers", rather than
> >>>>>>> explicitly needing to set up each listener?
> >>>>>> 
> >>>>>> 
> >>>>>> _______________________________________________
> >>>>>> hibernate-dev mailing list
> >>>>>> hibernate-dev at lists.jboss.org
> >>>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >>>>> 
> >>>>> 
> >>>>> _______________________________________________
> >>>>> hibernate-dev mailing list
> >>>>> hibernate-dev at lists.jboss.org
> >>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >>>> 
> >>>> 
> >>>> _______________________________________________
> >>>> hibernate-dev mailing list
> >>>> hibernate-dev at lists.jboss.org
> >>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >>> 
> >>> -- 
> >>> Steve Ebersole <steve at hibernate.org>
> >>> http://hibernate.org
> >>> 
> >> 
> > 
> > -- 
> > Steve Ebersole <steve at hibernate.org>
> > http://hibernate.org
> > 
> 

-- 
Steve Ebersole <steve at hibernate.org>
http://hibernate.org




More information about the hibernate-dev mailing list