On 12 Jan 2012, at 3:00 PM, Steve Ebersole wrote:

> "Java services api" == ServiceLoader I assume?

correct 

> Going on that assumption:
> 
> No.  ServiceLoader is just a discovery mechanism.  There still needs to be 
> something that, as you say, negotiates amongst the various discovered 
> implementations of a particular service.  2 well known ServiceLoader uses are 
> JDBC drivers and image processors, each illustrating a different approach 
> that are really inherent to their respective problem domains.  In the case of 
> JDBC drivers, the discovery is just used to register all the available 
> drivers; users must still specify which driver they want via JDBC url 
> protocol.  In the case of image processing (as I understand it anyway, not 
> really my forte) the choice of processor is more intrinsic to the image you 
> ask to have processed based on MIME type.
> 
> Here is sound like you more have the JDBC style, where discovery is just 
> making the complete set of possibilities known.  The user would still need to 
> make a distinction.  Or maybe you have some special rules like (a) using the 
> standard service if it is the only one discovered; (b) using the "other" 
> service if 2 are discovered; (c) requiring the user tell you if 3 or more are 
> found. Many ways to skin that cat.

Right. I would expect the user to make this distinction via the configuration. 

I think really the problem is that what we have is actually not a 
ServiceManager (at least not what I understand under this term). It is a fancy 
way to instantiating a class and giving it a life cycle (aka #start(), #stop()).
We really have more of a BeanLifeCycleManager. 

--Hardy
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to