Hi,
since Java 1.6 this functionality is provided by
java.util.ServiceLoader [1] so when you are based on JDK 6 anyway you
could simply use that class.
When targeting older JDKs one indeed must build it from hand (HV does
this for instance, too). Sun's JDK has contained this utility for
quite a while, but it was not part of the public API before JDK 6.
--Gunnar
[1]
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_guide/
> 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(a)hibernate.org>
> >
http://hibernate.org
> > _______________________________________________
> > hibernate-dev mailing list
> > hibernate-dev(a)lists.jboss.org
> >
https://lists.jboss.org/mailman/listinfo/hibernate-dev
---
Steve Ebersole <steve(a)hibernate.org>
http://hibernate.org
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev