반환타입의 차이점
EXECUTE()
는- void 가 반환타입입니다.
- 해당 메서드는 어떤 결과를 반환하는 것이 아니기에, 이후에 상황에 대한 검증이 어렵습니다
Submit()
는- Future 가 반환타입입니다.
- 해당 메서드는 어떤 결과가 발생했는지 반환타입으로 받을 수 있기에, 상화에 대한 검증이 쉽습니다.
작업 중의 예외처리에 관하여
Execute()
- 작업이 실패하는 경우 그냥 에러가 발생하고 작업이 멈추게 됩니다.
- 스레드에서
UncaughtExceptionHandler
가 발생함
- 스레드에서
- 작업이 실패하는 경우 그냥 에러가 발생하고 작업이 멈추게 됩니다.
Submit()
- 작업이 실패해도 Future 객체에 해당 예외 등의 관련한 정보가 일단 담기게 됩니다.
- 이후 Future.get() 을 수행하게 된다면 그때 예외가 발생한다고 합니다.
어떨 때 각자 사용하면 되느냐?
- submit 의 경우
- 서비스 로직 등을 수행한 뒤에 어떤 작업이 성공했고, 에러가 발생한지 별도로 검증이 필요한 경우 사용
- execute 의 경우
- 서비스 로직 등을 수행 한위에 어떤 검증이 필요하지 않은 경우 사용한다.
Uploaded by N2T
'자바 > 리팩토링' 카테고리의 다른 글
[리팩토링] 스웨거 DTO 가 schema 에 보이지 않는 이유와 DTO 어노테이션 설정법 (0) | 2023.12.17 |
---|---|
[리팩토링] 통합테스트와 단위테스트를 동시에 수행시 발생하는 테스트 메서드의 독립성 문제 (0) | 2023.11.26 |
[리팩토링] ENUM 에 한글과 value 등등.. (0) | 2023.11.19 |
[리팩토링] 기획된 개발은 차라리 낫지.. (0) | 2023.11.17 |
[리팩토링 일기]취소와 반품의 경우 상태관리를 어떤식으로 해줄것인가.. (0) | 2023.11.15 |