CannotSerializeTransactionException y DeadlockLoserDataAccessException están obsoletos desde Spring 6.0.3

Esta regla marca Java código que utiliza Spring 's deprecated locking-related exceptions CannotSerializeTransactionException y DeadlockLoserDataAccessException.

A partir de Spring Framework 6.0.3, estas excepciones han quedado obsoletas debido a la inconsistencia semántica entre los controladores JDBC. Se recomienda a los desarrolladores que utilicen CannotAcquireLockException que ofrece una forma unificada y coherente con el marco de trabajo de gestionar los fallos de bloqueo pesimista y de aislamiento de transacciones.

El siguiente ejemplo muestra el uso no válido que se marcará:


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");
    }
}

El siguiente ejemplo muestra un uso migrado válido:


import org.springframework.dao.CannotAcquireLockException;
public class ValidLockingUsage {
    public void method() {
    	throw new CannotAcquireLockException("Simulated issue");
    }
}

Para obtener más información, consulte los recursos siguientes: