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