Zmiana zachowania na wykrywanie komponentów bean w modułach z pustym plikiem beans.xml

W CDI w wersjach wcześniejszych od 4.0 archiwa JAR i WAR, które zawierają plik deskryptora wdrożenia beans.xml bez elementu <beans>, są uważane za jawne archiwa komponentów bean. W tych archiwach CDI może zarządzać i wstrzykiwać dowolny komponent bean, z wyjątkiem tych, które są opatrzone adnotacjami @Vetoed.

W CDI 4.0 archiwa te są uważane za dorozumiane archiwa komponentów bean. W dorozumianych archiwach komponentów bean CDI może zarządzać i wstrzykiwać komponenty bean tylko z adnotacją definiującą komponent bean.

Aby oznaczyć archiwum jako jawne archiwum komponentu bean i przywrócić zachowanie wykrywania komponentów bean z poprzedniej wersji, należy w elemencie beans w pliku określić zarówno atrybut version (ustawiony na wartość 1.1 lub nowszą), jak i atrybut bean-discovery-mode="all":


<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
    bean-discovery-mode="all"
    version="4.0">
</beans>

Więcej informacji na temat migracji Jakarta 10 znajduje się w sekcji Różnice między kontekstami Dżakarta a wstrzykiwaniem zależności 4.0 i 3.0.