[hibernate-dev] Integrator locator

Adam Warski adam at warski.org
Wed Mar 30 14:25:24 EDT 2011


Even better then :)

Adam

On Mar 30, 2011, at 8:23 PM, Steve Ebersole wrote:

> 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
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev

-- 
Adam Warski
http://www.warski.org
http://www.softwaremill.eu








More information about the hibernate-dev mailing list