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
