Diese Regel kennzeichnet Java Code, der die veralteten sperrungsbezogenen Ausnahmen von Spring verwendet CannotSerializeTransactionException und DeadlockLoserDataAccessException.
Ab Spring Framework 6.0.3 sind diese Ausnahmen aufgrund der inkonsistenten Semantik der JDBC Treiber veraltet. Den Entwicklern wird empfohlen, Folgendes zu verwenden CannotAcquireLockException die eine einheitliche, konsistente Methode zur Behandlung von pessimistischen Sperrungen und Transaktionsisolierungsfehlern bietet.
Das folgende Beispiel zeigt eine ungültige Verwendung, die gekennzeichnet wird:
import org.springframework.dao.CannotSerializeTransactionException;
import org.springframework.dao.DeadlockLoserDataAccessException;
public class InvalidLockingUsage {
public void simulateCannotSerialize() {
throw new CannotSerializeTransactionException("Simulated serialization failure");
}
public void simulateDeadlock() {
throw new DeadlockLoserDataAccessException("Simulated deadlock");
}
}
Das folgende Beispiel zeigt eine gültige migrierte Verwendung:
import org.springframework.dao.CannotAcquireLockException;
public class ValidLockingUsage {
public void method() {
throw new CannotAcquireLockException("Simulated issue");
}
}
Weitere Informationen finden Sie in den folgenden Quellen: