You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by David Jencks <da...@yahoo.com> on 2014/04/28 19:56:21 UTC

[DS] Controlling felix-specific features with felix-namespaced attributes

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