[ 
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

Reply via email to