You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by "Martin Desruisseaux (JIRA)" <ji...@apache.org> on 2013/06/06 18:15:20 UTC
[jira] [Created] (SIS-102) Choose a dependency injection library
for SIS
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