일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링
- 스프링부트공부
- K8S
- 자료구조공부
- 스프링공부
- DDD
- 자바공부
- 플러터 공부
- 알고리즘공부
- JPA예제
- 코테공부
- Axon framework
- querydsl
- 코테준비
- JPA공부
- 스프링부트
- 프로그래머스
- JPA스터디
- JPA 공부
- Flutter
- 기술공부
- nestjs
- nestjs스터디
- nestjs공부
- 기술면접공부
- Kafka
- 스프링 공부
- 플러터 개발
- JPA
- 카프카
- Today
- Total
목록EventListener (2)
DevBoi
비슷하면서도,,, 느낌이 오면서도.,,,, 무튼 다른,, 그런 두가지 어노테이션을 공부해보려고한다. @TransactionalEventListener는 해당 쓰레드가 언제 트랜잭션을 처리할지, Phase를 통해서 정의할 수 있다. @EventListener는 호출시점에 바로 실행된다. 트랜잭셔널이벤트리스너는, 아래와 같이 4가지 Phase를 나눠서 등록이 가능하다. @Component class MemberEventHandler { @EventListener fun defaultEventListener(event : MemberSave){ logger.info("defaultEventListener ---> {}", event) } @TransactionalEventListener(phase = Tran..
EventListener가 어떻게 등록이되고 캐치가 될까? applicationEventPublisher는 Event를 받아, 리스너들에게 Event를 Publish해준다. 도대체 어떻게 무슨 원리로 Publish 되는걸까 ApplicationEventPublisher 인터페이스는 아래 4개의 곳에서 재 정의한다. 그리고, 보통은 AbstarctApplicatonContext에서 정의한 걸 따라간다. AbstractApplicationContext - publishEvent 중요한 부분은 아래이다. Multicaster에게 작업을 위임한다. SimpleApplicationEventMulticaster의 내용이다. 보면 알다싶이, 이벤트 타입을 받아오고, getApplicationListeners를 통해서..