Peter, hello;
1) I was using Felix SCR annotations for some time, and was more or less
happy with them (except for plugin performance);
but Stuart directed my attention
https://issues.apache.org/jira/browse/FELIX-3170
to the inevitability of your RFC and your annotations:
http://www.osgi.org/download/osgi-early-draft-2011-09.pdf
http://www.aqute.biz/Blog/20091020
http://www.aqute.biz/Bnd/Components
2) I can see that during switch from felix -> to rfc 0172 I will have to loose some features:
a) felix will create bind/unbind for me; in bnd, I must create them all explicitly;
b) felix will infer @Activate, etc, form super types; in bnd annotations are picked up from top level only;
3) can you please comment
* why these choices were made in bnd?
* will your accept patches to bnd to make it behave more like felix?
?
Thank you,
Andrei.
> a) felix will create bind/unbind for me; in bnd, I must create them
> all explicitly;
There are people that do not like to modify the class files ... The difference between the class files and the source files can be annoying and when you have multiple weavers it is easy for them to get confused. And it adds time to the build process. Adding setters is very close to adding properties to Java, which should be another plugin (or standard).
> b) felix will infer @Activate, etc, form super types; in bnd
> annotations are picked up from top level only;
I feel that picking up inheritance from super types creates a certain amount of undefinedness. It is less error prone to know for sure that all your information is in one place, your source file. I.e. you get all the disadvantages of inheritance. That said, you also of course loose some of the advantages. File a bug at the Alliance on this one because more people seem to have a problem with this.
In general the idea is to keep it simple so that the source code is telling you exactly what happens.
I will not accept patches since the bnd annotations will be deprecated soon when the OSGi annotations will come. I've rewritten the annotation processing for the new annotations so it should not be that hard to add your own processor for them.
You can influence the OSGi process by filing bugs on the OSGi Alliance public bugzilla. This is the reason we submit a draft.
Kind regards,
Peter Kriens
File a bug at the Alliance on this one because more people seem to have a problem with this.
Kind regards,
Peter Kriens
Kind regards,
Peter Kriens