[hibernate-dev] Integrator locator

Steve Ebersole steve at hibernate.org
Wed Mar 30 14:23:41 EDT 2011


Hibernate 4 targets java 6

On Wednesday, March 30, 2011, at 01:16 pm, Adam Warski wrote:
> Heh sorry, pasted the wrong link :) This should be the right one:
> http://java.sun.com/developer/technicalArticles/javase/extensible/index.htm
> l
> 
> Anyway, the mechanism/names were standardized as part of Java 6.
> 
> That's e.g. how CDI extensions are discovered:
> http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html/extend.html#d0
> e4848 It also looks like there is some support in Java6:
> http://download.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html
> But as Hibernate aims Java5 we can't use that, although we can use the
> same file name.
> 
> Adam
> 
> On Mar 30, 2011, at 6:40 PM, Steve Ebersole wrote:
> > This is exactly what I have done.  There is no standard java mechanism
> > for doing this.  Your link simply shows how one piece of java (Sound
> > API) does it.
> > 
> > On Wednesday, March 30, 2011, at 11:22 am, Adam Warski wrote:
> > > Did you think about using the java services mechanism? Essentialy
> > > placing a file in META-INF/services:
> > > http://download.oracle.com/javase/1.4.2/docs/guide/sound/programmer_gui
> > > de/ chapter13.html ?
> > > 
> > > I don't think it gives any functionality, but is a standard way for
> > > doing such things.
> > > 
> > > Adam
> > > 
> > > On Mar 27, 2011, at 7:27 PM, Steve Ebersole wrote:
> > > > HHH-5562 is done, which introduces a locator/discovery means for
> > > > integrating with Hibernate.  Specifically it introduces the
> > > > (alternate name suggestions welcome, i am indifferent to this one)
> > > > org.hibernate.impl.Integrator interface.
> > > > 
> > > > It does discovery based on a classpath lookup for a well-defined
> > > > filename (can discover multiple) which names an implementor of this
> > > > interface. The process occurs in the midst of Sessionfactory
> > > > building to account for the main use cases I know of including
> > > > Envers, Search, Validation and BV.  Currently I additionally define
> > > > those 4 as "built in" integrators, meaning there is no need for them
> > > > to define auto-discovery files unless we want them to be integrated
> > > > in that manner (I know for example that Search is interested in this
> > > > via HSEARCH-595).  Anyway, we should probably decide pretty early
> > > > which integrations we want done which way.
> > > > 
> > > > Actually I take one part back.  Envers is actually handed by
> > > > discovery due to the fact that it is in a separate project (jar). 
> > > > The others were done this way because they already had the
> > > > reflection code in place to do this.  So for it, we need to decide
> > > > if we want to go the opposite way.
> > > > 
> > > > 
> > > > ---
> > > > Steve Ebersole <steve at hibernate.org>
> > > > http://hibernate.org
> > > > _______________________________________________
> > > > 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



More information about the hibernate-dev mailing list