В спецификации 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. Это может привести к снижению производительности обнаружения bean, если вы включите cdi-1.2 on Liberty.
В Java EE 7 при отсутствии файла beans.xml среда выполнения автоматически ищет аннотации, определяющие объекты EJB. Для отключения такого режима работы добавьте файл beans.xml, установив значение none в качестве режима поиска EJB.
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
bean-discovery-mode="none" version="1.1">
</beans>
В Liberty такой принцип действия можно блокировать путем добавления следующего свойства в файл server.xml.
<cdi12 enableImplicitBeanArchives="false"/>
В 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: изменение принципов работы.