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 nom et l'emplacement du schéma dans le fichier beans.xml doivent se conformer à la spécification pour la version CDI applicable.
Cette règle analyse les fichiers beans.xml pour vérifier si un espace de nom valide
est fourni sur l'attribut xmlns. Si l'espace de nom est valide, la règle vérifie également que l'emplacement du schéma correspondant sur l'attribut schemaLocation est correct.
L'exemple suivant illustre un fichier beans.xml valide pour la spécification CDI 1.0.
|
L'exemple suivant illustre un fichier beans.xml valide pour la spécification CDI 1.2.
|
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.
Le correctif automatisé de cette règle met à jour les espaces de nom incompatibles avec la valeur appropriée à l' schemaLocationspécifié. Copiez la configuration personnalisée vers votre fichier de génération d'application pour activer l'automatisation des correctifs.
Si vous envisagez d'utiliser la fonction CDI 1.2 fournie avec Java EE 7, voir Changements de comportement dans Contexts and Dependency Injection d'une édition à l'autre.