일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링공부
- Kafka
- nestjs스터디
- JPA공부
- Axon framework
- 스프링부트공부
- 스프링 공부
- 코테준비
- K8S
- JPA스터디
- 알고리즘공부
- DDD
- 스프링부트
- 코테공부
- JPA예제
- 프로그래머스
- querydsl
- 카프카
- 플러터 개발
- nestjs
- nestjs공부
- 기술공부
- 기술면접공부
- JPA
- 스프링
- 자바공부
- 자료구조공부
- 플러터 공부
- Flutter
- JPA 공부
- Today
- Total
목록ddd event (3)
DevBoi
EventListener가 어떻게 등록이되고 캐치가 될까? applicationEventPublisher는 Event를 받아, 리스너들에게 Event를 Publish해준다. 도대체 어떻게 무슨 원리로 Publish 되는걸까 ApplicationEventPublisher 인터페이스는 아래 4개의 곳에서 재 정의한다. 그리고, 보통은 AbstarctApplicatonContext에서 정의한 걸 따라간다. AbstractApplicationContext - publishEvent 중요한 부분은 아래이다. Multicaster에게 작업을 위임한다. SimpleApplicationEventMulticaster의 내용이다. 보면 알다싶이, 이벤트 타입을 받아오고, getApplicationListeners를 통해서..
생소한 단어들일 수 있다. DDD를 하지 않으면, 잘 모른다. 우선, 공부를 해보자. Notification은 전파, 전달에 대한 기능을 구현하는 모듈이다. Event가 발생했을때, Notification을 주어서, 특정 이벤트를 발생시키는것이다. Outbox패턴으로 작업한다면, 이벤트를 저장하고, 배치나 스케줄러를 통해서 적정 단위로 처리된다. 이벤트 소싱과 Notification은 다르다. Notification이란, Repository에서 애그리게잇을 가져올때 이벤트를 사용해서 재구성한다. 재구성 하기 위해서는 이벤트 소싱이 가장 중요하다. 특정이벤트를 관심있어 하는 주체에 대해, Notification이 발동된다. Notification은 이벤트 소싱에 저장된 일련의 애그리게잇, 주체에게 이벤트를..
일단 Query를 사용해봤다. 다음에는 Event를 사용해보자 마지막에 분석 및 기타 기능에 대해서 구현 및 포스팅을 할 것같다. 이번에는 생성에 대한 컨트롤러 단, 부터 생성을 해보자. 단순히 한개의 OrderCount를 늘린다. CQRS는 커맨드와 조회를 나눠, 조회와 데이터 변경에 대한 관심사를 나눈다. 1) OrderController @RestController public class OrderController { @Autowired private CommandGateway commandGateway; @PostMapping("/order/{order-name}") public CompletableFuture incrementProduct( @PathVariable("order-name") S..