En CDI anterior a CDI 4.0, los archivos JAR y WAR que contienen un archivo de descriptor de despliegue beans.xml
sin ningún elemento <beans> se consideran archivos de beans explícitos.
En estos archivos, CDI puede gestionar e inyectar cualquier bean, excepto los anotados con @Vetoed.
En CDI 4.0, estos archivos se consideran archivos de beans implícitos. En los archivos de beans implícitos, CDI solo puede gestionar e inyectar beans anotados con una anotación de definición de bean.
Para marcar un archivo como un archivo de beans explícito y restaurar el comportamiento de descubrimiento de beans del release anterior,
proporcione un elemento beans en el archivo y especifique el atributo version (establecido en 1.1 o posterior) y el atributo bean-discovery-mode="all"
en el 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 obtener más información sobre la migración de Jakarta 10, consulte Diferencias entre los contextos de Jakarta y la inyección de dependencias 4.0 y 3.0.