[hibernate-dev] [OGM] Managing GridDialect via the service registry

Gunnar Morling gunnar at hibernate.org
Fri Dec 20 09:32:05 EST 2013


I've sent a pull request which contains the proposed change [1].

With that change, GridDialects can now also be configured as instance or
class type, and they can be a Configurable or ServiceRegistryAwareService.
Any feedback welcome.

--Gunnar

[1] https://github.com/hibernate/hibernate-ogm/pull/266


2013/12/17 Gunnar Morling <gunnar at hibernate.org>

> Hi,
>
> We currently have a custom mechanism for providing the current GridDialect
> to components and I'm wondering about the motivation for this mechanism.
>
> More specifically there is GridDialectFactory which instantiates the
> dialect type and DatastoreServices which provides access to this instance.
> So we have two services and initiators just dealing with providing access
> to the current grid dialect.
>
> Couldn't there simply be a GridDialectInitiator which instantiates the
> GridDialect type and registers the dialect itself as service in the
> registry? This seems beneficial to me:
>
> * GridDialect implementations can leverage all benefits of being a
> service, e.g. they can implement Configurable to access the configuration
> or ServiceRegistryAwareService to access other services (including the
> DatastoreProvider). Note that GridDialect extends Service already today
> which seems confusing as it is no service managed by the registry.
> * We could remove DatastoreProvider, GridDialectFactory and their
> initiators
> * One indirection less for users of the GridDialect as they can get it
> directly from the registry
>
> Any thoughts? Is there a specific reason for the current design which I'm
> missing?
>
> Thanks,
>
> --Gunnar
>
>


More information about the hibernate-dev mailing list