We have several felix specific behaviors/extensions and I plan to add some more:
(existing)
- weird obsolete factory behavior
- lifecycle/bind methods return Map of service properties
(new)
- 1.2 spec compliancy for behavior of components with optional configuration 
policy and a modified method when the configuration is deleted. (1.2 spec says 
the component must be destroyed and recreated rather than calling the modified 
method) (this needs a global flag as well to preserve current behavior) 
- reasonable factory behavior (component created from component factory acts 
like it was created through config admin)
- 1.3 lifecycle methods accept interfaces as well as annotations for 
configuration
- nested or tree-shaped configurations encoded into flat map (needs discussion)

So far the mechanism for enabling these extensions has been a global flag or a 
felix specific namespace.    This is getting awkward.  I'd like to add the 
possibility of configuring these through xml attributes in the component 
descriptor with a felix specific namespace.

For instance,

xmlns:felix="http://felix.apache.org/xmlns/scr/extensions/v1.0.0"; 
felix:supportsInterfaceConfiguration="true"

In concert with this I plan to add to bnd the ability to specify these 
attributes through an annotation

        
@Attribute(namespace="http://felix.apache.org/xmlns/scr/extensions/v1.0.0";, 
prefix="felix", attributes="supportsInterfaceConfiguration=true")


Thoughts?

thanks
david jencks

Reply via email to