Java: CDI 2.0 ya está terminado oficialmente

Java: CDI 2.0 ya está terminado oficialmente

El Grupo de Expertos JCP ha aprobado el pliego de condiciones de contexto y la inyección de dependencias. CDI es una parte importante de Java EE, pero orientado en la versión 2.0 y Java SE.

Si bien el rechazo provisional del estado actual del sistema de Java Platform Module (JPMS) también conocido como Jigsaw, que es una parte central de Java 9, perturbó el mundo Java, tiene un importante especialmente para la especificación Java EE ahora la bendición del Grupo de Expertos JCP correspondientes recibida: CDI 2.0 (contexto y la inyección de dependencias) es ahora el estándar oficial de Java.

Una innovación importante de la especificación JSR 365 (Java Specification Request) guiada es también la modularización, pero no el sistema, pero la propia especificación. Por lo tanto, los fabricantes de reflejar el hecho de que CDI sido diseñado especialmente para uso en Java EE aplicaciones fueron diseñadas, pero ahora se ajusta de forma explícita para Java sE. Aunque las implementaciones anteriores CDI ya se admite el uso, pero las viejas especificaciones tenían la plataforma Java EE incluso en el nombre.

clara división

Ahora la especificación divide en "Core CDI"Que contiene la especificación de núcleo, "CDI en Java SE" con reglas para la edición estándar y "CDI en Java EE" con las funciones y normas adicionales para la edición empresarial de Java. El primer elemento contiene el Konezpte básico y fundamental esencial como calificador, Scopes, la inyección de dependencias, Interceptores y eventos. La especificación EJB han externalizado los fabricantes en la última parte mientras que el área SE, entre otras cosas, la API para los contenedores de bootstrapping CDI en Java SE en la clase abstracta SeContainerInitializer y su newInstance estática () - contiene método.

Una innovación técnica importante es el sistema de eventos extendida. Eventos recientemente ya no pueden sincronizarse, pero también procesada de forma asíncrona. También es posible desactivar observador individual y ordenar su orden en la anotación @ prioridad.

Anotación literal y Java 8

Otra de las novedades son la anotación literal que representan clases estática y una Instaziierung numerosas anotaciones CDI, incluyendo javax.enterprise.inject.Any, javax.enterprise.inject.Default y las anotaciones Alcance javax.enterprise.inject.RequestScoped, javax. enterprise.context.SessionScoped y javax.enterprise.context.ApplicationScoped permite, por ejemplo como sigue:

Predeterminado defaultLiteral Default.Literal = new ();

Además, los fabricantes tienen CDI 2.0 adaptado a las Java 8 características - por lo que el actual estándar de Java SE, no el previsto para julio de Java EE 8. Para tener en cuenta la memoria descriptiva, entre otras corrientes y lambdas. Además, el Calificador repetida extender el concepto de CDI calificador al permitir a través de las anotaciones repetibles de Java 8 es una asignación múltiple.

La especificación completa también se puede descargar desde el lado del CDI-Spec como una implementación de referencia y un juego TCK (Technology Compatibility Kit).(RME)