TIL

2021.11.17 기록장

Gisungcu 2021. 11. 16. 22:42

ToDo

Done

  •  

Weekly goal

  • 책 읽기
  • 영어 레퍼런스 읽기

ApplicationEventPublisher

spring에서 제공하는 이벤트를 사용할 수 있게 해주는 인터페이스

구현체로는 여러 context가 있지만 default는 GenericeWebAplicationContext인 것 같다.

 

내부에서는 리스너를 찾기 위해 움직인다. 

하지만 이벤트또한 비동기가 아니기에 시간적으로 느려질 수 있다.

 

그래서 많은 경우 @Async과 함께 사용한다.

 

@Async를 달면 해당 class의 인스턴스는 프록시로 만들어져 다른 스레드에서 동작하게 된다.

@Transactional과 같다고 보면 될 듯 하다.

https://jeong-pro.tistory.com/187

 

How does @Async work? @Async를 지금까지 잘 못 쓰고 있었습니다(@Async 사용할 때 주의해야 할 것, 사용법

@Async in Spring boot 스프링 부트에서 개발자에게 비동기 처리를 손쉽게 할 수 있도록 다양한 방법을 제공하고 있다. 대세는 Reactive stack, CompletableFuture를 쓰겠으나 역시 가장 쉬운 방법으로는 @Async..

jeong-pro.tistory.com

https://brunch.co.kr/@springboot/401

 

Spring Boot @Async 어떻게 동작하는가?

스프링부트 환경에서, @Async 어노테이션 사용해서 비동기 메서드 구현 | 이 글에서는, 스프링 프레임워크에서 제공하는 @Aysnc 비동기 메서드 사용 방법에 대해서 설명한다. 이 글을 읽기 위해서

brunch.co.kr