Skip to main content

Jakarta Contexts and Dependency Injection 4.1

Release for Jakarta EE 11

Jakarta Contexts Dependency Injection specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI).

New features, enhancements or additions

Several minor issues in the Specification, APIs and TCK will be addresses as detailed in the CDI 4.1 Milestone The overview of currently suggested topics includes:

  • Breaking up spec/TCK to remove circular dependencies
  • Delegate integration requirements to the Jakarta Platform specifications
  • Method invokers
  • Executable methods
  • Getting interceptor bindings in standard way
  • @Priority on producers
  • Review unused imports in classes in CDI 4
  • How can getReference() legally be invoked during AfterDeploymentValidation event if contexts have not been created
  • Programmatic access to Assignability rules
  • Add methods to BeanConfigurator for applying decorators
  • List of potential changes/features for next CDI version
  • Improve wording of managed bean requirements WRT non-static public fields
  • Inconsistent behavior when finding unproxyable bean ( possibly remove the references to the Managed Beans specification
  • possible rename of Jakarta Bean Validation to Jakarta Validation
  • Assignability of raw and parameterized types for type variables with multiple bounds (CDI-440) spec-clarificationAn issue requesting clarification in the specification

Removals, deprecations or backwards incompatible changes

  • The Expression Language SPI methods on the BeanManager will be deprecated in preparation for a move to a new subinterface that will be part of a new artifact. This removes the dependency on the Jakarta Expression Language from core API, and refactors features that are not client facing into the subinterface.

Minimum Java SE Version

Java SE 11 or higher

Details

Compatible Implementations

Ballots

Release Review

The Specification Committee Ballot concluded successfully on 2024-04-02 with the following results.

Representative Representative for: Vote
Kenji Kazumura Fujitsu +1
Tom Watson, Emily Jiang IBM +1
Ed Bratt, Dmitry Kornilov Oracle +1
Andrew Pielage Payara +1
David Blevins, Jean-Louis Monteiro Tomitribe +1
Ivar Grimstad EE4J PMC +1
Marcelo Ancelmo, Martijn Verburg Participant Members +1
Werner Keil Committer Members +1
Jun Qian Enterprise Members +1
Zhai Luchao Enterprise Members +1
Total 10

The ballot was run in the jakarta.ee-spec mailing list

Restructuring Review

This Specification Project’s Restructuring Review is covered by the CDI 4.1 Plan Review.

The Specification Committee Ballot completed on 8th December 2023.

Representative Representative for: Vote
Kenji Kazumura Fujitsu +1
Emily Jiang, Tom Watson IBM +1
Ed Bratt, Dmitry Kornilov Oracle +1
Andrew Pielage, Petr Aubrecht Payara No vote
David Blevins, Jean-Louis Monteiro Tomitribe No vote
Ivar Grimstad EE4J PMC +1
Marcelo Ancelmo, Abraham Marin-Perez Participant Members +1
Werner Keil Committer Members +1
Zhai Luchao Enterprise Members +1
Jun Qian Enterprise Members +1
Total 8
Non-binding votes
Representative Representative for: Vote
———————————————— ——————— ———
Angelo Rubini +1
Total 1

The ballot was run in the jakarta.ee-spec mailing list

Plan Review

This Specification Project’s Plan Review will be covered by the CDI 4.1 Plan Review.

The Specification Committee Ballot completed on 11th July 2023.

Representative Representative for: Vote
Kenji Kazumura Fujitsu +1
Emily Jiang, Tom Watson IBM +1
Ed Bratt, Dmitry Kornilov Oracle +1
Andrew Pielage, Petr Aubrecht Payara No vote
David Blevins, Jean-Louis Monteiro Tomitribe +1
Ivar Grimstad EE4J PMC +1
Marcelo Ancelmo, Abraham Marin-Perez Participant Members +1
Werner Keil Committer Members +1
Zhai Luchao Enterprise Members +1
Scott Stark Enterprise Members +1
Total 9
Non-binding votes
Representative Representative for: Vote
———————————————— ——————— ———
Jun Qian Primeton +1
Total 1

The ballot was run in the jakarta.ee-spec mailing list

Back to the top