Zkontrolovat platné schéma v souboru beans.xml

Pokud soubor beans.xml obsahuje dekorátory nebo zachytávače, musí být pro správnou instanci použito platné schéma. Obor názvů a umístění schématu v souboru beans.xml se musí shodovat se specifikací pro příslušnou verzi CDI.

Toto pravidlo prochází a hledá soubory beans.xml, abyste viděli, zda je v atributu xmlns zadán platný obor názvů. Není-li obor názvů platný, pravidlo rovněž ověří správnost odpovídajícího umístění schématu v atributu schemaLocation.

Následující příklad zobrazuje platný soubor beans.xml pro specifikaci CDI 1.0.


<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> 

Následující příklad zobrazuje platný soubor beans.xml pro specifikaci CDI 1.2.


<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>
 

Je-li obor názvů poskytnut a neodpovídá žádné specifikaci, server vygeneruje výjimku při zpracování souboru beans.xml. Ověření lze zakázat nastavením následující vlastnosti JVM:

		
	org.jboss.weld.xml.disableValidating=true

Není-li zadán žádný obor názvů, pravidlo neoznačí soubor beans.xml.

Automatizovaná oprava pro toto pravidlo aktualizuje nekompatibilní obory názvů s hodnotou odpovídající zadanému schemaLocation. Zkopírujte vlastní konfiguraci do svého souboru sestavení aplikace a povolte automatizaci opravy.

Zvažujete-li použití implementace CDI 1.2 dodané s Java EE 7, viz Změny chování Contexts and Dependency Injection 1.2.