Martin Desruisseaux created SIS-102:
---------------------------------------

             Summary: Choose a dependency injection library for SIS
                 Key: SIS-102
                 URL: https://issues.apache.org/jira/browse/SIS-102
             Project: Spatial Information Systems
          Issue Type: Task
          Components: Utilities
            Reporter: Martin Desruisseaux


We need to choose a dependency injection mechanism (CDI). Johann Sorel provided 
the following analysis:

There is basically two overlapping Java Specification Requests (JSR):
* {{JSR-299}} is the complete CDI version ({{cdi-api}})
* {{JSR-330}} can be seen as a lightweight version of {{JSR-299}}. Whether this 
is an improvement appears questionable.

{{JSR-330}} provides only a limited amount of injection possibilities and does 
not provide discovery mechanism. Consequently it would not be a replacement for 
our current usage of {{META-INF/services}} entries. Google _Guice 3_ is a 
{{JSR-330}} implementation.

{{JSR-299}} is more complete and provides a discovery mechanism. _Weld 1_ is 
the reference implementation.

The next CDI version will be {{JSR-346}}, available as a draft at the time of 
writing. _Weld 2_ (available as beta-5) will be the reference implementation.

Recommendation is to wait for {{JSR-346}}. The difference with {{JSR-299}} 
seems small. This new JSR aims to brings "updates and clarifications to CDI 1.0 
along much requested features".


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to