[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