Hi, I've been working on implementing the proposed rfc 190 changes to DS in felix scr. I've committed some work and have most of the DTO and multiple pid support implemented locally. The major bits I haven't started on yet are configuration through annotations and scope support (for exposed services and for references). I don't expect either of these to be particularly difficult, but then I haven't started.
There are some difficulties with factory components and DTO/mutliple pid support. In terms of the spec, DTO and factory components don't work well together, see bug 2683 (I'm not sure how visible this is to non-osgi-members). In Felix, 1. I think we should not support the obsolete factory configuration >> newInstance-like behavior on namespace 1.3+ components. We shouldn't have supported it after namespace 1.0, but we should stop now for sure. Trying to support this with multiple pids is just too weird. 2. Because of how I implemented multiple pid support for normal components, I think it would be easy to Implement factory config > multiple instances of the ComponentFactory service. I believe this behavior was requested by Pierre de Rop. There's an additional problem if you do this that you can't distinguish the ComponentFactory services registered from the multiple factory configurations. To solve this I propose that configuration properties prefixed with "org.apache.felix.scr.factory." (exact string up for discussion) be added to the ComponentFactory service properties. Of course all this would have to be enabled by an flag in the xml such as felix:factoryComponentFactoryPID="true" (no good ideas on this one yet). As a reminder, a few days ago I said I was about to remove the legacy configuration system entirely in favor of the spec one based on DTOs since they are conceptually incompatible and the existing one is fundamentally confused. So far no response so it's going soon…. Comments? thanks david jencks
