felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@gmail.com>
Subject [DS] Extend service references with support for registration property updates
Date Thu, 26 Nov 2009 10:50:37 GMT

While working on FELIX-1841, Pierre de Rop and I came across a missing
feature in the Declarative Services Specification 1.1: Functionality to
propagate service property updates for a bound service.

In the current SCR trunk we implemented a workaround, which just calls
the bind method in case of such updates (guarded by a configuration
property due to non-compliant behaviour). This workaround may work or
not, but it is probably better to come up with a real solution.

Therefore I propse the extension of Declarative Services 1.1 by adding
an "updated" method declaration in the service reference element. The
full proposal is written in FELIX-1893 [1] to which I also attached a
patched implementing this proposal.

In short:

  * Extend the <reference> with an updated element naming a method
    which is called when service registration properties of a bound
    service are updated
  * Define new namespace supporting this attribute. Only components
    using this namespace (or a future newer one) will have support
    for the updated attribute. Otherwise the attribute is ignored.
  * The updated method has the same signature prototype specification
    and lookup algorithm as the bind and unbind methods.
  * Backwards compatibility is guaranteed by requiring a new namespace
    for components using the updated method and by defaulting to
    no propagation of updated service registration properties.

If we agree on this proposal, I would like to bring it to the OSGi Dev
List (and file an enahcement bug with OSGi).



[1] https://issues.apache.org/jira/browse/FELIX-1893

View raw message