I'll go for search configuration for now.
On 27 oct. 2010, at 19:23, Emmanuel Bernard wrote:
Actually I've got a question for the registration of existing
service instances. Esp in the case of Infinispan where that use case is requested.
I can add the contract to SearchConfiguration
interface SearchConfiguration {
...
Map<Class<? extends ServiceProvider<?>>, Object>
getExternalServices();
}
SearchConfiguration infinispanSearchConfiguration = ...
infinispanSearchConfiguration.addExternalService(InfinispanContainerProvider.class,
cacheContainer);
SearchFactory sf = new SearchFactoryBuilder().configuration(
infinispanSearchConfiguration ).buildSearchFactory();
HSearch would then register these as external services
or I could add it to the new programmatic API to build SearchFactories
SearchConfiguration infinispanSearchConfiguration = ...
SearchFactory sf = new SearchFactoryBuilder()
.configuration( infinispanSearchConfiguration )
.addService(InfinispanContainerProvider.class, cacheContainer)
.buildSearchFactory();
I guess I could do both as well.
WDYT?
On 27 oct. 2010, at 19:02, Emmanuel Bernard wrote:
> Hi Sanne and all,
> I've done a first cut to the external service provider solution. Let me know if
you think that would fit for the InfinispanDP and if you find better names to the APIs
>
> The core is available in branch
http://github.com/emmanuelbernard/hibernate-search/tree/HSEARCH-603
>
> A service needs to put a META-INF/services/org.hibernate.search.spi.ServiceProvider
file that contains the implementation of a ServiceProvider interface
>
http://github.com/emmanuelbernard/hibernate-search/blob/HSEARCH-603/hiber...
>
>
http://github.com/emmanuelbernard/hibernate-search/blob/HSEARCH-603/hiber...
> The service provider has start / stop / getService
>
> Accessing the service from directory providers is done via BuildContext
>
http://github.com/emmanuelbernard/hibernate-search/blob/HSEARCH-603/hiber...
>
> CacheContainer container =
context.registerServiceUse(InfinispanContainerProvider.class);
> ...
> context.unregisterServiceUse(InfinispanContainerProvider.class);
>
> Note that the key is the ServiceProvider implementation class instead of a raw
string.
>
> I have not yet implemented the way to pass an existing instance at search factory
creation but that's next.
>
> I'd like to get better names on registerServiceUse / unregisterServiceUse.
I've been thinking about enlistUseOfService / delistUseOfService and holdService /
releaseService.
>
> Feedback welcome, I'd like to push that in beta3.
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev