[hibernate-dev] ServiceRegistries and OSGi
brmeyer at redhat.com
Wed Jun 12 15:44:08 EDT 2013
Alright, 3 week late response ;)
In hibernate-osgi, SF/EMF initialization simply uses the #with methods on BootstrapServiceRegistryBuilder, then builds a StandardServiceRegistry through the StandardServiceRegistryBuilder. Originally, I was implementing a custom ServiceRegistry that hooked directly into the OSGi registry. However, the consulting with Tim Ward changed that. To prevent versioning conflicts, etc. hibernate-osgi only registers its own set of services and the services within the client persistence bundle (discovered when an SF/EMF is requested). Because of that, I simply stuck with with the BootstrapServiceRegistryBuilder and StandardServiceRegistryBuilder.
It seems that the ServiceRegistry is a bit of an all-or-nothing concept. For instance, it would be useful to provide a custom ServiceRegistry, but still kick off the StandardServiceInitiators. Maybe that means tying StandardServiceInitiators into something more like an AbstractServiceRegistry, rather than solely within StandardServiceRegistryBuilder? Otherwise, *all* standard services would need to be in the OSGi registry for hibernate-osgi to discover them. That's fairly straightforward, but could cause problems if an OSGi environment had more than one version/instance of Hibernate running (it happens).
The one other improvement that I can think of is an easier way to provide a custom ServiceRegistry in JPA (Bootstrap -> EntityManagerFactoryBuilder). Unless I missed something, I think it assumes the standard registry is always used.
Red Hat Software Engineer, Hibernate
----- Original Message -----
From: "Steve Ebersole" <steve at hibernate.org>
To: "hibernate-dev" <hibernate-dev at lists.jboss.org>
Sent: Wednesday, May 22, 2013 3:51:39 PM
Subject: [hibernate-dev] ServiceRegistries and OSGi
Now that OSGi support is in place and we know it is being used, I am
curious whether the concept of ServiceRegistry helped or hindered in
One of the major reasons to define such a ServiceRegistry was the idea
that it would help porting Hibernate into other containers and other
runtimes, not just traditonal JSE/JEE environments. Specifically OSGi
was one of the things considered, although in a very generic sense back
then. So part of the reason I ask is that I wonder how successful we
were in that, first; and then, in areas we can get better, how?
Now is a great time to review that as we get ready to start making a
push towards 5.0 after 4.3 (JPA 2.1 support) gets stabilized...
hibernate-dev mailing list
hibernate-dev at lists.jboss.org
More information about the hibernate-dev