OverlappingFileLockException für die Methode FileChannel.lock() suchen

Diese Regel markiert die Verwendung der java.nio.channels.FileChannel.lock() Methode. In Java SE 6: lock() Methode löst jetzt aus java.nio.channels.OverlappingFileLockException .

Diese Regel markiert die lock() Methode, die keinen try/catch-Block mit OverlappingFileLockException oder wenn die umgebende Methode nicht OverlappingFileLockException .

Beispiel 1:

< span class="Code" > public MyClass{
private void doX(){
FileChannel fc= getFileChannel();
fc.lock();
}
}

Beispiel 2:

< span class="Code" > public MyClass erweitert FileChannel{
private void doX(){
super.lock();
}
// weiterer Code
}

Beispiel 3:

< span class="Code" > public MyClass erweitert FileChannel{
private void doX() throws OverlappingFileLockException{
super.lock();
}
private void doY() {
try{
super.lock();
catch {OverlappingFileLockException e} {}
}
// weiterer Code
}

In Beispiel 1 fc.lock() Aufruf wird markiert.

In Beispiel 2 super.lock() Aufruf wird markiert.

In Beispiel 3 wird nichts markiert, da die Methode doX() bereits eine OverlappingFileLockException und die Methode doY() fängt ab OverlappingFileLockException .

Java SE 6 hat die Systemeigenschaft hinzugefügt sun.nio.ch.disableSystemWideOverlappingFileLockCheck zu steuern java.nio.channels.FileChannel.lock Dateiprüfverhalten.

Weitere Informationen finden Sie unter Punkt 4 in der Veröffentlichung Java SE 6 Compatibility.