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

답변 1
1
말씀하신대로 서비스 쪽에서는 트랜잭션으로 처리되어서 문제가 발생하면 롤백되겠지만
파일 시스템쪽은 그렇지 않습니다.
이를 제대로 처리하려면 우선 서비스에서 예외를 던지게 설계하고 컨트롤러에서 예외가 발생했을 경우에는 업로드된 파일들을 삭제하시는 방법이 가장 깔끔할 것입니다.
아니면 서비스쪽에서 리턴 값을 주고 컨트롤러에서 원하는 리턴값이 안나오는 경우에 업로드된 파일들을 삭제하는 방법도 고려해 볼 수 있을 듯 하네요..
이와는 별개로 스케줄러를 이용해서 데이터베이스에 없는 파일들을 주기적으로 삭제하는 방법도 나쁘지 않습니다.
패키지 구분에 대해 궁금한게 있습니다
0
7
1
코드 자료
0
24
2
조회속도 개선에서 더 개선하는 방법이 궁금합니다.
0
28
2
servlet과 container에 대한 질문입니다
0
24
1
RepositoryTest의 패키지 위치가 domain인 이유
0
30
2
도메인 모델에서 관계와 규칙을 구분하는 방법
0
37
2
UserService, CertificationService 책임 분리 기준 질문
0
26
1
spring initialiser 어떤걸 선택해야될지 모르겠어요
0
32
2
구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?
0
50
2
Json 요청 처리
1
33
2
로그아웃-logout()-2 강에서 겟방식 로그아웃 호출 후 화면이동 질문입니다.
0
27
2
Build 관련 문제 (테스트 관련 문제)
0
43
2
job, step execution 관련 질문 드립니다.
0
32
2
이미지 업로드와 db 트랜잭션 묶는법
0
42
1
sdk 설정 오류
0
49
2
Orchestration SAGA 패턴 보상에 대한 질문입니다.
0
51
2
[건의][6장][작전1] deprecated 메소드
1
48
2
[예제][3장][작전2] windows 에서 마지막 예제
0
39
1
저는 왜 콘솔에서 props가 한 줄만 찍히나요?
0
47
1
NaverBookRepository.class 의 위치에 따른 모듈간의 의존성에 대해 질문드립니다.
1
31
2
Could not resolve org.springframework.boot:spring-boot-starter-validation:2.4.4
0
52
2
@AuthenticationPrincipal
0
83
2
로그인 처리 시 패스워드 null이 들어 가는 현상
0
225
2
스프링6버전에 톰캣10에서 스프링시큐리티 문제
0
233
2





