While I agree that the service loader framework appears to be lacking
(very) important features, if it is going to be part of the SE APIs then
it seems reasonable to support it.

The ServiceLoader's polling model is OK as far as it goes, but I much
prefer the "activator" model, where a service module could announce the
availability of services during module initialization.

// Bryan

Glyn Normington wrote:

*"Stanley M. Ho" <[EMAIL PROTECTED]>* wrote on 13/06/2007 07:19:10 PM:

 > Since I have not heard any further input on the services and
 > service-providers strawman, I suppose the EG is fine with the strawman
 > overall except the issue raised by Richard. Unless I hear any objection,
 > I will incorporate the appropriate portion of the strawman based on the
 > feedback you have provided into the next revision of the specification.

I am very concerned that the scope of JSR 277 is being expanded
considerably without much attention being paid to the state of the art
(particularly Spring-OSGi and Declarative Services). If we could
implement good interoperation with JSR 291, we could delegate the
complexities of supporting services to JSR 291 and technologies like
Spring-OSGi that layer nicely on top of JSR 291.

Apart from that, the support for services in the strawman has some
obvious holes, so I don't think it is ready to be incorporated into the
JSR 277 specification:

1. It seems to be lacking any form of dependency injection.

2. The namespace of services is global, but not partitioned by service
interface version. The effect of this is that a module could import v1
of a service interface class and obtain an instance of the service that
implements v2 of the service interface and get a class cast exception.

3. There is no support for dynamic updates of service providers and
notification of service updates to service consumers. (This is
consistent with JSR 277's static nature, but I point it out as this is
an obvious future requirement based on our experience in OSGi.)

4. There seems to be some confusion in the strawman between loading of
service interfaces/implementations and construction and publication of
service instances.

I wonder what other Expert Group members think of this strawman. Silence
does not necessarily indicate happiness, so it would be good to have
more feedback.

Glyn


------------------------------------------------------------------------

/
/

/Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU/






Reply via email to