[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