Specifikace CDI (Contexts and Dependency Injection) 1.1 zavedla implicitní režim zjišťování objektů typu bean, což vedlo ke změnám chování a výkonu z implementace Java Platform, Enterprise Edition (Java EE) 6 CDI 1.0 na serveru WebSphere Application Server.
Toto pravidlo značí složku WEB-INF nebo META-INF, pokud projekt neobsahuje soubor beans.xml. Při přechodu z formátu Java EE 6, CDI 1.0 na Java EE 7 CDI 1.1 nebo novější jsou výsledkem zjišťování implicitních objektů bean všechny soubory WAR a JAR procházené běhovým prostředím, a to i v případě, že nemají soubor beans.xml. To může vést k poklesu výkonu zjišťování objektů typu bean, pokud povolíte cdi-1.2 funkce na Liberty.
V prostředí Java EE 7, není-li definován soubor beans.xml, vyhledá běhové prostředí automaticky anotace definující objekty typu bean. Chcete-li toto chování zakázat, přidejte soubor beans.xml s režimem zjišťování objektu typu bean nastaveným na hodnotu none, jak je uvedeno v následujícím příkladu.
<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>
Na serveru Liberty můžete toto chování také zakázat přidáním následující vlastnosti do souboru server.xml.
<cdi12 enableImplicitBeanArchives="false"/>
Na serveru WebSphere Application Server Traditional lze toto chování zakázat následujícími způsoby:
enableImplicBeanArchives na hodnotu false zakáže kroky procházení anotací související s CDI pro archivy, které neobsahují deskriptor objektu typu bean, jako je například soubor beans.xml.
enableCDI na hodnotu false zakáže všechny kroky CDI. Tato hodnota by měla být nastavena na hodnotu false, není-li na úrovni serveru potřeba žádná specifikace CDI.
Další informace o nastavení těchto vlastností na serveru WebSphere traditional viz dokumentace Přizpůsobené vlastnosti pro zlepšení spuštění aplikace na serveru WebSphere Application Server.
Další informace o implementaci Java EE 7 CDI 1.2 viz Změny chování Contexts and Dependency Injection 1.2.