La specifica CDI (Contexts and Dependency Injection) 1.1 ha introdotto la modalità di rilevamento bean implicita, dando luogo a modifiche al comportamento ed alle prestazioni rispetto all'implementazione di Java Platform, Enterprise Edition (Java EE) 6 CDI 1.0 in WebSphere Application Server.
Questa regola contrassegna la cartella WEB-INF o META-INF se il progetto non contiene un file beans.xml. Quando si passa da Java EE 6 CDI 1.0 a Java EE 7 CDI 1.1 o versioni successive, il rilevamento del bean implicito risultata nella modifica di in tutti i file WAR e JAR su cui viene eseguita la scansione dal runtime, anche se non hanno un file beans.xml. Ciò può causare un peggioramento delle prestazioni del rilevamento bean se si abilita cdi-1.2 in Liberty.
In Java EE 7, se non è definito alcun file beans.xml, il runtime esegue automaticamente la scansione alla ricerca delle annotazioni che definiscono i bean. Per disabilitare questo comportamento, aggiungere un file beans.xml con la modalità di rilevamento del bean impostata su none, come mostrato nel seguente esempio.
<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>
Anche in Liberty è possibile disabilitare questa funzionalità aggiungendo la seguente proprietà al file server.xml.
<cdi12 enableImplicitBeanArchives="false"/>
In WebSphere Application Server tradizionale, questo comportamento può essere disabilitato nei seguenti modi:
enableImplicitBeanArchives su false si disabilitano i passi di scansione dell'annotazione relativi a CDI, che ricercano gli archivi che non contengono un descrittore di bean come il file beans.xml.
enableCDI si disabilitano tutti i passi di CDI. Questo valore dove essere impostato su false se non è necessario il CDI al livello del server.
Per ulteriori informazioni sull'impostazione di queste proprietà in WebSphere tradizionale, vedere la documentazione Custom Properties for improving application startup in WebSphere Application Server.
Per ulteriori informazioni sull'implementazione di Java EE 7 CDI 1.2, consultare Contexts and Dependency Injection 1.2 behavior changes.