This presentation introduces the advanced features of CDI (Contexts and Dependency Injection). It was presented by Antoine Sabot-Durand, the co-spec lead for CDI. In less than five years of existence, Contexts and Dependency Injection (CDI) has become one of the major specifications in Java EE. However, its advanced features are still not well known among the majority of the developers, who see it as a simple Dependency Injection solution. In this session, we’ll deep dive into advanced features like the CDI SPI and portable extensions. Then we'll view some examples of how CDI can be used to extend, in a portable way, the Java EE stack.