스프링 데이터 Common 6. 비동기 쿼리 메소드 - KwangtaekJung/inflearn-spring-data-jpa-keesun GitHub Wiki

스프링 데이터 Common: 비동기 쿼리

비동기 쿼리

  • @Async Future findByFirstname(String firstname); <=Java 5

  • @Async CompletableFuture findOneByFirstname(String firstname); <=Java 8

  • @Async ListenableFuture findOneByLastname(String lastname);

    • 해당 메소드를 스프링 TaskExecutor에 전달해서 별도의 쓰레드에서 실행함.
    • Reactive랑은 다른 것임
  • 권장하지 않는 이유

    • 테스트 코드 작성이 어려움.
    • 코드 복잡도 증가.
    • 성능상 이득이 없음.
      • DB 부하는 결국 같고.
      • 메인 쓰레드 대신 백드라운드 쓰레드가 일하는 정도의 차이.
      • 단, 백그라운드로 실행하고 결과를 받을 필요가 없는 작업이라면 @Async를 사용해서 응답 속도를 향상 시킬 수는 있다.
⚠️ **GitHub.com Fallback** ⚠️