Dacă un fişier beans.xml include decoratori sau interceptori, trebuie să fie folosită o schemă validă pentru instanţierea corectă. Spaţiu de nume şi locaţia din fişierul beans.xml trebuie să se potrivească cu specificaţia pentru versiunea CDI aplicabilă.
Această regulă scanează fişierele beans.xml
pentru a vedea dacă un nume valid este furnizat pe atributul xmlns. Dacă spaţiul de nume
este valid, regula verifică şi dacă locaţia schemei corespunzătoare din atributul schemaLocation
este corectă.
Exemplul următor arată un fişier valid beans.xml pentru specificaţia CDI 1.0.
|
Exemplul următor arată un fişier valid beans.xml pentru specificaţia CDI 1.2.
|
Dacă un spaţiu de nume este furnizat şi nu se potriveşte cu nici o specificaţie, serverul aruncă o excepţie când procesează fişierul beans.xml. Puteţi dezactiva validarea prin setarea proprietăţii JVM următoare:
org.jboss.weld.xml.disableValidating=true
Dacă nu este furnizat spaţiul de nume, regula nu semnalează fişierul beans.xml.
Fixul automat pentru această regulă actualizează namespace-urile incompatibile cu valoarea corespunzătoare pentru a specifica schemaLocation. Copiați configurația personalizată pe fișierul de build al aplicației pentru a activa automatizarea corectării.
Dacă aveţi în vedere utilizarea CDI 1.2 furnizat cu Java EE 7, vedeţi Contexts and Dependency Injection 1.2 behavior changes.