Cette règle marque l'utilisation potentielle de la double barre oblique "//" dans la portion domaine des constructeurs javax.management.ObjectName. JSR 255 prévoit d'utiliser "//" comme séparateur dans la portion domaine d'un constructeur javax.management.ObjectName pour les "cascades". JSR 255 ne fait pas partie de Java SE 6, mais il est recommandé que la portion domaine d'un constructeur ObjectName ne contienne pas la chaîne "//" pour éviter les futurs problèmes de compatibilité.
Les constructeurs ObjectName sont de la forme suivante :
domain:key1=value1,key2=value2,key3=value3,*avec un nombre variable de propriétés de clé.
Si votre application contient des beans gérés avec des constructeurs ObjectName dont le nom de domaine contient une double barre oblique, vous devez modifier le nom de domaine de ces beans gérés.
Cette règle inspecte les constructeurs ObjectName et vérifie si possible la portion domaine de la chaîne pour vérifier qu'il n'existe pas de double barre oblique. Elle peut analyser les constructeurs qui transmettent des littéraux chaîne ou une variable de chaîne finale définie dans la même unité de compilation. Si elle peut inspecter le nom de domaine, elle ne marque que les constructeurs qui violent la règle.
La règle marque également les instances du constructeur ObjectName dont le nom de domaine est codé comme variable qui ne peut pas être inspectée telle quelle. Inspectez manuellement ces instances pour vérifier que les noms de domaine ne contiennent pas de double barre oblique.
Exemple 1 :
Dans l'exemple 1, la règle marque myObj1 et myObj3 car ces chaînes contiennent "//". myObj2 n'est pas marqué.
Exemple 2 :
Dans l'exemple 2, la règle marque myObj2, mais pas myObj1.
Exemple 3 :
Dans l'exemple 3, myObj est marqué car le code ne peut pas déterminer le nom de domaine.
Pour plus d'informations, voir :