Geändertes Verhalten bei der Bean-Erkennung in Modulen mit leerer Datei beans.xml

In CDI vor CDI 4.0 werden JAR- und WAR-Archive, die die Deskriptordatei beans.xml zur Bereitstellung ohne Element <beans> enthalten, als explizite Bean-Archive betrachtet. In diesen Archiven kann CDI jede Bean mit Ausnahme der mit @Vetoed annotierten Beans verwalten und einfügen.

In CDI 4.0 werden diese Archive als implizite Bean-Archive betrachtet. In impliziten Bean-Archiven kann CDI nur Beans verwalten und einfügen , die mit einer Bean-definierenden Annotation annotiert sind.

Wenn Sie ein Archiv als explizites Bean-Archiv markieren und das Verhalten zur Bean-Erkennung des Vorgängerrelease wiederherstellen möchten, geben Sie ein Element beans in der Datei an und geben Sie das Attribut version (auf 1.1 oder höher gesetzt) und das Attribut bean-discovery-mode="all" im Element beans an:


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

Weitere Informationen zur Migration von Jakarta 10 finden Sie unter Unterschiede zwischen Jakarta Contexts and Dependency Injection 4.0 und 3.0.