La especificación CDI (Contexts and Dependency Injection) 1.1 introdujo la modalidad de descubrimiento de beans implícitos, lo que da lugar a cambios de comportamiento y rendimiento de la implementación de Java Platform, Enterprise Edition (Java EE) 6 CDI 1.0 en WebSphere Application Server.
Esta regla marca la carpeta WEB-INF o META-INF si el proyecto no contiene un archivo beans.xml. Al mover de Java EE 6 CDI 1.0 a Java EE 7 CDI 1.1 o posterior, el descubrimiento de beans implícitos da como resultados la exploración por parte del tiempo de ejecución de todos los archivos WAR y JAR, incluso si no tienen un archivo beans.xml. Esto puede provocar una degradación del rendimiento del descubrimiento de beans si habilita el cdi-1.2 característica en Liberty.
En Java EE 7, si no se ha definido ningún archivo beans.xml, el tiempo de ejecución explora automáticamente buscando anotaciones de definición de beans. Para inhabilitar este comportamiento, añada un archivo beans.xml con modalidad de descubrimiento de bean establecido en none, tal como se muestra en el ejemplo siguiente.
<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>
En Liberty, también puede inhabilitar este comportamiento añadiendo la siguiente propiedad en el archivo server.xml.
<cdi12 enableImplicitBeanArchives="false"/>
En WebSphere Application Server tradicional, este comportamiento se puede inabilitar de las maneras siguientes:
enableImplicitBeanArchives en false se inhabilitan los pasos de exploración de anotación relacionados con CDI
para los archivos que no contienen un descriptor de bean como por ejemplo el archivo beans.xml.
enableCDI en false, se inhabilitan todos los pasos de CDI. Este valor se debe establecer en
false si no se ncesita CDI en el nivel de servidor.
Para obtener más información acerca de cómo establecer estas propiedades en WebSphere tradicional, consulte la documentación Custom Properties for improving application startup in WebSphere Application Server.
Para obtener más información sobre la implementación de Java EE 7 CDI 1.2, consulte Cambios de comportamiento de Contexts and Dependency Injection 1.2.