A változatmeghatározás nélküli beans.xml fájllal rendelkező modulokban megváltozott a komponensfeltérképezés működése

A CDI 4.0 előtti CDI kiadásokban, a root <beans> elemben változatattribútummal nem rendelkező beans.xml telepítésleíró fájlt tartalmazó JAR és a WAR archívumok explicit komponens archívumoknak minősülnek. Ezekben az archívumokban a CDI képes bármilyen komponenst kezelni és bejuttatni, kivéve azokat, amelyek @Vetoed annotációval vannak ellátva.

A CDI 4.0 változatában ezek az archívumok implicit komponens archívumoknak minősülnek. Az implicit komponens archívumokban a CDI csak komponensmeghatározó annotációval ellátott komponenseket tud kezelni és bejuttatni.

Ha egy archívumot explicit komponens archívumként jelöl meg, és visszaállítja az előző kiadás komponensfeltérképezési viselkedését, akkor adja meg mind a változatattribútumot (1.1 vagy újabb), mind a bean-discovery-mode="all" attribútumot a komponensek elemben:


<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>

Ez a szabály rendelkezik egy automatikus javítást a hiányzó változat és a komponens feltérképezés = "all " attribútumokkal. Másolja az egyéni konfigurációt az alkalmazás összeépítési fájljába a javítás automatizálásához.

További Jakarta 10 költöztetési információk: Különbségek a Jakarta Contexts and Dependency Injection 4.0 és 3.0 között.