첨부파일 트랜잭션
98
작성한 질문수 5
현재 코드가 board 컨트롤러에 있습니다.
List<AttachVO> attachVOList = upDownUtil.upload(files);
하지만 그 아래
boardService.register(boardVO);
코드에는 (서비스 코드에는 트랜잭션 처리가 되어있음)
여기서 register 할떄 오류가나면 트랜잭션 처리로 디비에는 등록되지않지만 파일이 로컬에 저장되는건 막을수가 없는건가요 ?

답변 1
1
말씀하신대로 서비스 쪽에서는 트랜잭션으로 처리되어서 문제가 발생하면 롤백되겠지만
파일 시스템쪽은 그렇지 않습니다.
이를 제대로 처리하려면 우선 서비스에서 예외를 던지게 설계하고 컨트롤러에서 예외가 발생했을 경우에는 업로드된 파일들을 삭제하시는 방법이 가장 깔끔할 것입니다.
아니면 서비스쪽에서 리턴 값을 주고 컨트롤러에서 원하는 리턴값이 안나오는 경우에 업로드된 파일들을 삭제하는 방법도 고려해 볼 수 있을 듯 하네요..
이와는 별개로 스케줄러를 이용해서 데이터베이스에 없는 파일들을 주기적으로 삭제하는 방법도 나쁘지 않습니다.
네이버 API | '검색 - 책' API 제공 중단
0
25
2
Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.
0
36
2
장치 의존성과 CSR
0
30
1
테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.
0
22
1
[영한님]Spring Boot 및 프로젝트 생성
0
48
2
JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문
0
53
3
강의 요청 문의
0
39
2
클로드코드 명령어-대화&세션관리 수업 자료
0
40
1
PlatformTransactionManager, ResourcelessTransactionManager 질문
1
59
2
자료 한번에 다운받기
0
32
1
스프링 빈 등록 방법 2가지 다 알아야하는 이유
0
57
1
mybatis 를 이용한 crud에서 insert에서 resultType='long" 이라고 하셨는데요,
0
26
1
설계 트레이드 오프 링크 접속 안됨
0
83
2
테스트 질문, 어떤것을 사용할것인것에 대해서
0
42
1
깃허브주소 궁금합니다.
0
36
2
mariaDB 설정
0
32
1
섹션4 퀴즈 오타있어요.
0
45
1
AWS 배포 성능테스트
0
72
2
퀴즈가 안열려요
0
74
2
7강 보고 있는데요.. 글자가 너무 작아요
0
39
1
트래잭션 전파 기본- 에 대한 개념 질문? 이렇게 생각해도 맞나요?
0
44
1
@AuthenticationPrincipal
0
99
2
로그인 처리 시 패스워드 null이 들어 가는 현상
0
265
2
스프링6버전에 톰캣10에서 스프링시큐리티 문제
0
260
2





