The roots of Java EE 6: JSR-299 (CDI) and Weld extensions
Abstract
This talk introduces JSR-299: Contexts and Dependency Injection for the Java EE platform (CDI), the new Java standard for dependency injection and contextual lifecycle management. The talk covers the core programming model, explains its relationship to EJB 3.1 and JSF 2.0, and clarifies how it unifies and enhances the Java EE platform as a whole (extending to JPA, JAX-RS and JMS). You are then introduced to Weld, the Apache-licensed JSR-299 reference implementation, OpenWebBeans, another Apache-licensed implementation, and their servlet container extensions. Finally, we look ahead at portable enhancements provided by Weld extensions that help extension writers today and will become candidates for the next spec revision.
While many of the features provided by CDI (dependency injection, contextual lifecycle, configuration, interception, event notification) are familiar, the innovative use of meta-annotations is uniquely expressive and typesafe. This talk emphasizes the value in this approach. This is a great opportunity to learn about the this new, extensible programming model that forms the foundation of a unified, extensible Java EE 6 platform.