인프런 커뮤니티 질문&답변
OrderRepositoryV3 sleep 함수 관련 질문
작성
·
481
1
[질문 내용]
OrderRepository class 에서 Thread.sleep()을 바로 save() 로직안에서 사용 안하고 따로 private 함수로 빼서 sleep()을 다시 만든 이유가 있을까요??
public void save(String itemId) {
AbstractTemplate<Void> template = new AbstractTemplate<>(trace) {
@Override
protected Void call() {
if (itemId.equals("ex")) {
throw new IllegalStateException("예외 발생!");
}
sleep(1000);
return null;
}
};
template.execute("OrderRepository.save()");
}
private void sleep(int millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
답변 1
1
김영한
지식공유자
안녕하세요. gslee100님
안에서 사용하셔도 됩니다. 그런데 try, catch 로직이 원본에 들어가게 되어서, 원본 로직이 지저분해지는 것을 방지해기 위해 별도로 만들었습니다.
감사합니다.





