Ellenőrizze az érvényes sémát a beans.xml fájlban

Ha egy beans.xml fájl tartalmaz decorators vagy interceptors elemeket, akkor a megfelelő példányosításhoz egy érvényes sémát kell használni. A beans.xml fájlban a névtérnek és a sémahelynek meg kell felelnie az érvényes CDI változat specifikációjának.

Ez a szabály elemzi a beans.xml fájlok annak ellenőrzéséhez, hogy az xmlns jellemzőhöz egy érvényes névtér van-e megadva. Ha a névtér érvényes, akkor a szabály azt is ellenőrzi, hogy a schemaLocation jellemzőben megadott megfelelő sémahely helyes-e.

A következő példa egy CDI 1.0 specifikáció esetén érvényes beans.xml fájlt mutat be.


<beans xmlns="http://java.sun.com/xml/ns/javaee" 
		  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
		  		      		 http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
</beans> 

A következő példa egy CDI 1.2 specifikáció esetén érvényes beans.xml fájlt mutat be.


<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="all" version="1.1">
</beans>
 

Ha meg van adva egy névtér, és az nem felel meg egyik specifikációnak sem, akkor a kiszolgáló egy kivételt dob a beans.xml fájl feldolgozásakor. Az érvényesítést a következő JVM tulajdonság beállításával tilthatja le:

		
	org.jboss.weld.xml.disableValidating=true

Ha nincs megadva névtér, akkor a szabály nem jelöli meg a beans.xml fájlt.

A szabályhoz tartozó automatikus javítás nem kompatibilis névtereket frissít a megadott schemaLocationértékkel. Másolja az egyéni konfigurációt az alkalmazás összeépítési fájljába a javítás automatizálásához.

Ha a Java EE 7 által adott CDI 1.2 megvalósítás használatát fontolgatja, akkor tekintse meg a következőt: Contexts and Dependency Injection 1.2 viselkedésváltozásai.