CannotSerializeTransactionException 및 DeadlockLoserDataAccessException 은 Spring 부터 사용되지 않습니다 6.0.3

이 규칙은 Spring 의 더 이상 사용되지 않는 잠금 관련 예외를 사용하는 Java 코드에 플래그를 지정합니다 CannotSerializeTransactionExceptionDeadlockLoserDataAccessException.

현재 Spring 프레임워크 6.0.3, 이러한 예외는 JDBC 드라이버 간에 일관되지 않은 의미로 인해 더 이상 사용되지 않습니다. 개발자는 다음을 사용하는 것이 좋습니다 CannotAcquireLockException 대신 비관적인 잠금 및 트랜잭션 격리 실패를 처리하는 통합된 프레임워크 일관된 방법을 제공합니다.

다음 예는 플래그를 지정할 수 있는 잘못된 사용법을 보여줍니다:


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

다음 예는 마이그레이션된 유효한 사용법을 보여줍니다:


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

자세한 정보는 다음 자원을 참조하십시오.