A especificação Contexts and Dependency Injection (CDI) 1.1 introduziu o modo de descoberta de bean implícito, resultando em mudanças de comportamento e desempenho a partir da implementação do Java Platform, Enterprise Edition (Java EE) 6 CDI 1.0 no WebSphere Application Server.
Essa regra sinaliza a pasta WEB-INF ou META-INF se o projeto não contiver um arquivo beans.xml. Ao mover do Java EE 6 CDI 1.0 para o Java EE 7 CDI 1.1 ou mais recente, a descoberta de bean implícito resulta em todos os arquivos WAR e JAR sendo varridos pelo tempo de execução, mesmo se eles não tiverem um arquivo beans.xml. Isso pode levar à degradação do desempenho da descoberta de bean se você ativar o cdi-1.2 no Liberty.
No Java EE 7, se nenhum arquivo beans.xml estiver definido, o tempo de execução varre automaticamente as anotações de definição de bean. Para desativar esse comportamento, inclua um arquivo beans.xml com o modo de descoberta de bean configurado para none, conforme mostrado no exemplo a seguir.
<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>
No Liberty, é possível também desativar esse comportamento, incluindo a propriedade a seguir no arquivo server.xml.
<cdi12 enableImplicitBeanArchives="false"/>
No WebSphere Application Server tradicional, esse comportamento pode ser desativado das maneiras a seguir:
enableImplicitBeanArchives como false desativa
as etapas de varredura de anotação relacionadas a CDI para archives que não contêm um descritor do
bean, tal como o arquivo beans.xml.
enableCDI como false desativa todas as etapas de CDI. Esse
valor deverá ser configurado como false se nenhum CDI for necessário no nível do servidor.
Para obter mais informações sobre a configuração dessas propriedades no WebSphere tradicional, veja a documentação Propriedades customizadas para melhorar a inicialização do aplicativo no WebSphere Application Server.
Para obter mais informações sobre a implementação do Java EE 7 CDI 1.2, consulte Mudanças de comportamento do Contexts and Dependency Injection 1.2.