Изменение поведения для обнаружения bean в модулях с файлом beans.xml без указанной версии

В CDI до CDI 4.0архивы JAR и WAR, содержащие файл описания < code>beans.xml< /code>, не задающие атрибут < code> version < /code> в корневом элементе < code> < beans> < /code>, считаются явными архивами объектов. В этих архивах CDI может управлять любым объектом EJB, за исключением тех, которые имеют аннотацию с < код>@Vetoed< /code>.

В CDI 4.0эти архивы считаются неявными архивами объектов. В неявных архивах функций bean CDI может управлять и вводить объекты EJB с аннотацией bean-definition annotation.

Для того чтобы пометить архив как явный архив объекта и восстановить поведение обнаружения bean предыдущего выпуска, укажите в элементе beans атрибут version (значение 1.1 или более новый) и атрибут bean-discovery-mode = "all " :


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

Это правило содержит автоматическое исправление для добавления отсутствующих атрибутов version и bean-discover = "all " . Скопируйте пользовательскую конфигурацию в файл компоновки приложения, чтобы включить автоматизацию исправлений.

Дополнительная информация о миграции в Jakarta 10 приведена в разделе Различия между Jakarta Contexts и Dependency Injection 4.0 и 3.0.