Cette règle marque l'utilisation du java.nio.channels.FileChannel.lock() . Dans Java SE 6, lock() méthode now throws java.nio.channels.OverlappingFileLockException .
Cette règle marque le lock() qui n'a pas de bloc try / catch avec OverlappingFileLockException ou si la méthode environnante n'émet pas OverlappingFileLockException .
Exemple 1 :
Exemple 2 :
Exemple 3 :
Dans l'exemple 1, le fc.lock() L'appel sera marqué.
Dans l'exemple 2, le super.lock() L'appel sera marqué.
Dans l'exemple 3, rien ne sera marqué, car la méthode doX() émet déjà des messages OverlappingFileLockException et la méthode doY() intercepte OverlappingFileLockException .
Java SE 6 a ajouté la propriété système sun.nio.ch.disableSystemWideOverlappingFileLockCheck à contrôler java.nio.channels.FileChannel.lock comportement de vérification de fichier.
Pour plus d'informations, voir le point 4 du guide Java SE 6 Compatibility.