Si un fichier beans.xml inclut des décorateurs ou des intercepteurs, un schéma valide doit être utilisé pour une instanciation correcte. L'espace de noms dans le fichier beans.xml doit correspondre à la spécification de la version CDI applicable. doit correspondre à la spécification de la version CDI applicable.
Cette règle analyse les fichiers beans.xml pour voir si un espace de noms valide est fourni sur la page d'accueil.
espace de noms valide est fourni sur le fichier xmlns Attribut.
L'exemple suivant illustre un fichier beans.xml valide pour la spécification 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>
L'exemple suivant illustre un fichier beans.xml valide pour la spécification 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>
Si un espace de nom est fourni et qu'il ne correspond à aucune des deux spécifications, le serveur renvoie une exception lors du traitement du fichier beans.xml. Vous pouvez désactiver la validation en définissant la propriété JVM suivante :
org.jboss.weld.xml.disableValidating=true
Si aucun espace de nom n'est fourni, la règle ne marque pas le fichier beans.xml.
Si vous envisagez d'utiliser la fonction CDI 1.2 fournie avec Java EE 7, voir Changements de comportement dans Contexts and Dependency Injection 1.2.