Sprawdź poprawną przestrzeń nazw w beans.xml

Jeśli plik beans.xml zawiera elementy decorators lub interceptors, w celu właściwego utworzenia instancji należy użyć poprawnego schematu. Przestrzeń nazw w beans.xml plik musi odpowiadać specyfikacji odpowiedniej wersji CDI.

Ta reguła skanuje beans.xml files, aby sprawdzić, czy w pliku xmlns atrybut.

W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji 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> 

W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji 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 przestrzeń nazw jest podana i nie jest zgodna z żadną specyfikacją, serwer zgłasza wyjątek podczas przetwarzania pliku beans.xml. Sprawdzanie poprawności można wyłączyć, ustawiając następującą właściwość JVM:

		
	org.jboss.weld.xml.disableValidating=true

Jeśli przestrzeń nazw jest podana, reguła nie oznacza pliku beans.xml.

Jeśli rozważane jest użycie implementacji CDI 1.2 dostępnej w środowisku Java EE 7, należy zapoznać się z tematem Zmiany w działaniu implementacji Contexts and Dependency Injection 1.2.