You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
위의 이벤트를 DomainEventEnvelop<? extends DomainEvent> 형태로 kafka에 publish한다.
문제는 이벤트를 consume할 때 역직렬화 시도 시점에 발생했다. DomainEventEnvelop 까지는 역직렬화가 진행되었지만 DomainEvent를 어떤 구현체로 역직렬화 할 지 선택하지 못하여 예외가 발생했다.
해결방법
현재 Jackson 라이브러리로 Json을 파싱하고 있기에 ObjectMapper를 사용하여
각 DomainEvent에 대한 Custom Deserializer를 생성한다.
각 이벤트를 구독하는 EventListener에 구현한 Custom Deserializer를 주입해주어 처리할 수 있다.
다만 해당 방법은 구독하는 event가 추가될 때마다 구현해야 하는 코드가 많아진다.
따라서 DomainEventEnvelop의 eventType 프로퍼티의 값을 통해 역직렬화할 클래스를 찾는 방법을 모색해봐야 할 것 같다.
The text was updated successfully, but these errors were encountered:
Contents
Kafka에 발행하는 이벤트의 구조는 아래와 같다.
위의 이벤트를
DomainEventEnvelop<? extends DomainEvent>
형태로 kafka에 publish한다.문제는 이벤트를 consume할 때 역직렬화 시도 시점에 발생했다.
DomainEventEnvelop
까지는 역직렬화가 진행되었지만DomainEvent
를 어떤 구현체로 역직렬화 할 지 선택하지 못하여 예외가 발생했다.해결방법
현재 Jackson 라이브러리로 Json을 파싱하고 있기에 ObjectMapper를 사용하여
각
DomainEvent
에 대한 Custom Deserializer를 생성한다.각 이벤트를 구독하는 EventListener에 구현한 Custom Deserializer를 주입해주어 처리할 수 있다.
다만 해당 방법은 구독하는 event가 추가될 때마다 구현해야 하는 코드가 많아진다.
따라서
DomainEventEnvelop
의eventType
프로퍼티의 값을 통해 역직렬화할 클래스를 찾는 방법을 모색해봐야 할 것 같다.The text was updated successfully, but these errors were encountered: