Modifica del comportamento per il rilevamento bean nei moduli con file beans.xml senza alcuna versione specificata

In CDI precedente a CDI 4.0, gli archivi JAR e WAR che contengono un file descrittore di distribuzione beans.xml che non specificano un attributo version nell'elemento root <beans> sono considerati archivi bean espliciti. In questi archivi, CDI può gestire e inserire qualsiasi bean, tranne quelli annotati con @Vetoed.

In CDI 4.0, questi archivi sono considerati archivi bean impliciti. Negli archivi bean impliciti, CDI può gestire e inserire solo bean annotati con un'annotazione di definizione bean.

Per contrassegnare un archivio come un archivio bean esplicito e ripristinare il funzionamento del rilevamento bean della release precedente, specificare sia l'attributo version (impostato su 1.1 o più recente) che l'attributo bean-discovery-mode="all", nell'elemento beans:


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

Questa regola dispone di una correzione automatica per l'aggiunta degli attributi version e bean - discover = "all " mancanti. Copiare la configurazione personalizzata (custom configuration) nel file di build dell'applicazione per abilitare l'automazione delle correzioni.

Per ulteriori informazioni sulla migrazione di Jakarta 10, consultare Differenze tra Jakarta Contexts e Dependency Injection 4.0 e 3.0.