Jeśli plik beans.xml zawiera elementy decorators lub interceptors, w celu właściwego utworzenia instancji należy użyć poprawnego schematu. Położenia przestrzeni nazw i schematu w pliku beans.xml muszą być zgodne ze specyfikacją dla odpowiedniej wersji CDI.
Ta reguła skanuje pliki beans.xml, sprawdzając, czy w atrybucie xmlns podano poprawną przestrzeń nazw. Jeśli przestrzeń nazw jest poprawna, reguła sprawdza także, czy odpowiednie położenie schematu w atrybucie schemaLocation jest poprawne.
W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji CDI 1.0.
|
W poniższym przykładzie przedstawiono poprawny plik beans.xml na potrzeby specyfikacji CDI 1.2.
|
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.
Zautomatyzowana poprawka dla tej reguły aktualizuje niekompatybilne przestrzenie nazw, używając wartości odpowiedniej dla podanego schemaLocation. Skopiuj konfigurację niestandardową do pliku budowania aplikacji, aby włączyć automatyzację poprawek.
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.