inflearn logo
강의

講義

知識共有

コードで学ぶSpring Webプロジェクト - Intermediate

添付ファイル付きの投稿登録処理

첨부파일 트랜잭션

83

jyl08840

投稿した質問数 4

0

현재 코드가 board 컨트롤러에 있습니다.

List<AttachVO> attachVOList = upDownUtil.upload(files);

 

하지만 그 아래

boardService.register(boardVO);

코드에는 (서비스 코드에는 트랜잭션 처리가 되어있음)

 

여기서 register 할떄 오류가나면 트랜잭션 처리로 디비에는 등록되지않지만 파일이 로컬에 저장되는건 막을수가 없는건가요 ?

 

image.png

 

 

 

 

 

 

jsp spring xml spring-security ajax mybatis

回答 1

1

zk202308a5410

말씀하신대로 서비스 쪽에서는 트랜잭션으로 처리되어서 문제가 발생하면 롤백되겠지만

 

파일 시스템쪽은 그렇지 않습니다.

 

이를 제대로 처리하려면 우선 서비스에서 예외를 던지게 설계하고 컨트롤러에서 예외가 발생했을 경우에는 업로드된 파일들을 삭제하시는 방법이 가장 깔끔할 것입니다.

 

아니면 서비스쪽에서 리턴 값을 주고 컨트롤러에서 원하는 리턴값이 안나오는 경우에 업로드된 파일들을 삭제하는 방법도 고려해 볼 수 있을 듯 하네요..

 

이와는 별개로 스케줄러를 이용해서 데이터베이스에 없는 파일들을 주기적으로 삭제하는 방법도 나쁘지 않습니다.

섹션3. 11 회원객체 다이어그램

0

18

1

OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.

0

19

1

강의 연장 요청

0

19

2

설정 정보 없이 임베디드 데이터베이스 생성

0

15

1

형 이번에 낸 책이랑 강의 내용에 차이가 있어?

1

36

1

형 나 몰래 책내면 모를 줄 알고?

1

30

1

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

23

1

N+1 관련해서 질문있습니다.

0

39

3

강의 중복 확인 요청

0

26

1

중복내용 제보?!

1

49

2

여러 파드 환경에서 단일 실행 보장 방식

0

28

2

패키지 구분에 대해 궁금한게 있습니다

0

27

2

코드 자료

0

54

2

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

44

2

servlet과 container에 대한 질문입니다

0

31

1

RepositoryTest의 패키지 위치가 domain인 이유

0

38

2

도메인 모델에서 관계와 규칙을 구분하는 방법

0

59

2

UserService, CertificationService 책임 분리 기준 질문

0

28

1

spring initialiser 어떤걸 선택해야될지 모르겠어요

0

43

2

구현체가 동적으로 정해질 때, 팩토리 기법을 사용하나요?

0

61

2

Json 요청 처리

1

52

2

@AuthenticationPrincipal

0

85

2

로그인 처리 시 패스워드 null이 들어 가는 현상

0

230

2

스프링6버전에 톰캣10에서 스프링시큐리티 문제

0

238

2