현상
카프카에 있는 데이터를 서버로 가져와 객체로 다시 매핑하는 과정에서 다음과 오류가 발생한다.
Caused by: org.springframework.messaging.converter.MessageConversionException: failed to resolve class name. Class not found [um.uamserver.domain.dto.AdsbData]
원인
데이터를 보내는 송신측에서 카프카로 jsonSerializer를 통해 객체를 직렬화해서 보낼때 패키지 정보까지 헤더에 같이 보내고 데이터를 받는 수신 측에서는 카프카에서 jsonDeserializer를 통해 패키지 정보까지 같이 역직렬화를 한다. 이때 만약 서로 송수신측의 데이터 패키지가 다르다면 오류가 발생한다.
고치는 법
카프카 설정에서 상대방의 패키지 정보를 추가하거나 헤더 정보를 빼서 받으면 객체 형태로 잘받을 수 있다.
필자는 후자의 방식을 선택했다.
참고
https://yeon-kr.tistory.com/181
(Kafka) 객체를 JSON 타입으로 넘겨보자
1) 서론 Kafka는 메시지 브로커를 이용해 서로 다른 프로젝트 사이에 메시지를 주고받을 수 있습니다. 이를 통해 비동기적인 처리를 할 수 있는데요. 메시지를 넘겨줄 때 int, string 등 타입을 지정
yeon-kr.tistory.com
'오류일기' 카테고리의 다른 글
mysql Too many connections 오류 (0) | 2023.07.31 |
---|---|
hikaripool-1 - thread starvation or clock leap detected 원인, 해결법 (0) | 2023.07.26 |
JPA설정 오류 (Socket fail to connct to host) (0) | 2023.04.07 |
mariaDB, mysql Connector/j 이슈 (Communication link failure) (0) | 2023.04.07 |
MYSQL 드라이버 디펜던시 이슈 (0) | 2023.04.07 |