Exception2 Transaction silently rolled back because it has been marked as rollback-only 트랜잭션 처리가 필요한 메서드의 코드에서 Runtime 예외가 발생하고, 그 메서드를 호출하는 메서드에서 해당 부분을 예외 처리를 무시하는 방식으로 넘겼더니 실행 과정에서 "Transaction silently rolled back because it has been marked as rollback-only" 오류가 발생했다. 이 오류는 트랜잭션이 롤백 상태로 표시되어 커밋되지 않고 자동으로 롤백되었음을 의미한다. 이 문제는 주로 트랜잭션 관리와 관련된 설정이나 코드에서 발생할 수 있다. 이 포스트에서는 이 문제의 주요 원인과 해결 방법을 상세히 설명한다. 문제 원인1. 예외 발생트랜잭션 내에서 RuntimeException이나 Error가 발생하면 Spring은 기본적으로 트랜잭션을 롤백한다. 이는 .. 2024. 9. 12. [Spring] Filter에서 ExceptionHandler 예외 메시지 전달하기 일반적인 개발 프로젝트에서는 클라이언트에게 전체 예외 메시지가 아닌 특정 형태를 갖춘 메시지를 반환한다. 현재 개발 중인 프로젝트에서도 @RestControllerAdvice와 @ExceptionHandler를 활용해서 애플리케이션 전역에서 발생하는 예외를 특정 형태로 맞춰서 클라이언트에게 반환하도록 설정되어 있었고 그동안 잘 사용하고 있었다. [GlobalExceptionHandler] @RestControllerAdvice @Slf4j public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { @ExceptionHandler(IllegalArgumentException.class) public ResponseEntity h.. 2023. 3. 26. 이전 1 다음