@Repository
@RequiredArgsConstructor
public class OrderRepositoryV0 {
public void save(String itemId){
if(itemId.equals("ex")){
throw new IllegalStateException("예외 발생!!");
}
sleep(1000);
}
private void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
단지 예시이다.
실용 코드로썬 의미가 없고,
ex시에 예외를 뿜게 하는거고, 그 외엔 1초 기다렸다가 정상적으로 저장되었다는 일종의 가상 시뮬레이션일 뿐 이다.
@Service
@RequiredArgsConstructor
public class OrderServiceV0 {
private final OrderRepositoryV0 orderRepository;
public void orderItem(String itemId){
orderRepository.save(itemId);
}
}
@RestController
@RequiredArgsConstructor
public class OrderControllerV0 {
private final OrderServiceV0 orderService;
@GetMapping("/v0/request")
public String request(@RequestParam("itemId") String itemId){
orderService.orderItem(itemId);
return "ok";
}
}
'스프링 > 스프링 핵심 원리 - 고급편' 카테고리의 다른 글
6. V2 파라미터로 동기화 (0) | 2024.01.14 |
---|---|
5. 로그 추적기 적용 (0) | 2024.01.14 |
4. 로그추적기 V1 프로토타입 (0) | 2024.01.05 |
3. 요구사항 분석 (0) | 2024.01.05 |
1. 강의 소개 (0) | 2023.12.25 |