Good question. I tried to look jsr 330(Dependency Injection) before I came up these annotation. It essentially provides 6 annotations @Inject, @Named, @Provider, @Qualifier, @Scope, @Singleton. I don't think it can be mapped to many functions we need such as Service, Reference, ReferenceListener, RegistrationListener, annotate bind, unbind, register, unregister, init, and so on methods.
I like the @Inject provided by jsr 330 annotation but it doesn't provide exactly what we want, as often times, when we inject something, we either provide a value or a ref. @Singleton and @Scope could be possibly used, even tho it is currently specified as property to @Bean annotation where you specify the scope of the bean. >From a user's point of view, I think it would be easy to use familiar blueprint concepts such as bean, service, reference, referencelist, registrationlistener, referencelistener, etc to annotate the classes. >From this sense, this is similar like Peter Kriens proposed the annotation for components [1] HTH Lin [1] http://www.aqute.biz/Blog/20091020 One thing that is not obvious to me is that how these jsr 330 annotations can be possibly mapped to what we want in blueprint. On Fri, May 14, 2010 at 11:48 AM, Guillaume Nodet <[email protected]> wrote: > I haven't really had any time to look at what you've done yet, but my first > reaction was / is, why not leverage jsr330 instead of redefining a whole new > set of annotations ? > > On Fri, May 7, 2010 at 19:00, Lin Sun <[email protected]> wrote: > >> Hi >> >> I have been doing some prototype work for blueprint annotation in my >> own sandbox[1]. Currently the code builds in these orders: >> blueprint-annotation-api, blueprint-annotation-impl and >> blueprint-sample-annotation, blueprint-annotation-itest. However the >> itest only run successfully on my local machine, since I also have >> some uncommitted code on my local machine that modifies the blueprint >> core a bit to scan blueprint annotation for bundles that have the >> Bundle-Blueprint-Annotation header to true. I intend to move the >> sandbox code to trunk if there is no objection, so that I can commit >> my change to blueprint core without breaking the aries build. I have >> coded to do runtime annotation scanning only but supporting build time >> generation of blueprint definition XML from annotation should be >> possible. >> >> The blueprint-annotation-api contains some of the basic annotations I >> am proposing, such as @Bean, @Service, @Reference, @ReferenceList, >> @Inject, etc. >> >> The blueprint-annotation-impl contains a bunch of generated and >> slightly modified jaxb files along with some code to scan annotations >> and write the generated blueprint definition to a URL location, using >> xbean-finder. >> >> The blueprint-sample-annotation contains an example of how these >> annotations can be used in the sample. >> >> Comments welcome! >> >> Thanks >> >> Lin >> >> [1] >> https://svn.apache.org/repos/asf/incubator/aries/sandbox/linsun/blueprint/ >> > > > > -- > Cheers, > Guillaume Nodet > ------------------------ > Blog: http://gnodet.blogspot.com/ > ------------------------ > Open Source SOA > http://fusesource.com >
