Mudança de comportamento para descoberta de bean em módulos com arquivo beans.xml vazio

No CDI anterior ao CDI 4.0, os archives JAR e WAR que contêm um arquivo descritor de implementação beans.xml com nenhum elemento <beans> são considerados archives de bean explícitos. Nesses archives, o CDI pode gerenciar e injetar qualquer bean, exceto aqueles anotados com @Vetoed.

No CDI 4.0, esses archives são considerados archives de bean implícitos. Em archives de bean implícitos, o CDI só pode gerenciar e injetar beans anotados com uma anotação de definição de bean.

Para marcar um archive como um archive de bean explícito e restaurar o comportamento da descoberta de bean da liberação anterior, forneça um elemento beans no arquivo e especifique o atributo version (configurado como 1.1 ou mais recente) e o atributo bean-discovery-mode = "all ", no 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>

Para obter mais informações de migração do Jakarta 10, consulte Diferenças entre o Jakarta Contexts and Dependency Injection 4.0 e o 3.0.