Modifica del comportamento per il rilevamento bean nei moduli con file beans.xml vuoto

In CDI precedente a CDI 4.0, gli archivi JAR e WAR che contengono un file descrittore di distribuzione beans.xml senza alcun elemento <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 comportamento di rilevamento bean della release precedente, fornire un elemento beans nel file e specificare sia l'attributo version (impostato su 1.1 o più recente) che l'attributo bean-discovery-mode="all" sull'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>

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