В спецификации Contexts and Dependency Injection (CDI) 1.1 появился режим обнаружения неявных EJB, что привело к изменению принципов и скорости функционирования по сравнению с реализацией CDI 1.0 из Java Platform, Enterprise Edition (Java EE) 6, применявшейся в WebSphere Application Server.
Это правило отмечает папку WEB-INF или META-INF, если проект не содержит файл beans.xml. При переходе от CDI 1.0 Java EE 6 к CDI 1.1 Java EE 7 или более поздней версии режим обнаружения неявных EJB приводит к тому, что все файлы WAR и JAR начинают сканироваться во время выполнения, даже если они не содержат файл beans.xml. Это может привести к резкому падению скорости обнаружения EJB, если компонент cdi-1.2 будет активирован в Liberty.
В Java EE 7 при отсутствии файла beans.xml среда выполнения автоматически ищет аннотации, определяющие объекты EJB. Для отключения такого режима работы добавьте файл beans.xml, установив значение none в качестве режима поиска EJB.
|
В Liberty такой принцип действия можно блокировать путем добавления следующего свойства в файл server.xml.
|
В WebSphere Application Server traditional такой принцип действия можно выключить следующими способами:
enableImplicitBeanArchives, то для архивов, не содержащих файла
описания EJB, такого как beans.xml, не будут выполняться никакие действия по
проверке аннотаций, связанных с CDI.
enableCDI, то не будут выполняться никакие действия, связанные с
CDI. Используйте значение false только в том случае, если CDI вообще не требуется на уровне сервера.
За дополнительной информацией о настройке этих свойств в WebSphere traditional обратитесь к документу Пользовательские свойства для повышения скорости запуска приложений в WebSphere Application Server.
Для получения дополнительной информации о реализации CDI 1.2 в Java EE 7 обратитесь к документу Contexts and Dependency Injection 1.2: изменение принципов работы.