[
https://issues.apache.org/jira/browse/SIS-102?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Desruisseaux updated SIS-102:
------------------------------------
Description:
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_ is aimed to 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".
was:
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".
> 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_ is aimed to 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