Jackson과 Scala 기반 Flink를 사용한 코드 리팩토링 과정에서 발생한 Serialization 관련 이슈 해결하기
1
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

Jackson과 Scala Flink 코드 리팩토링

이 글에서는 Scala Flink 코드 리팩토링 중 발생한 Serialization 이슈를 다룹니다. Jackson을 사용하여 JSON serialization을 처리하는 과정에서, Java 클래스를 Scala case class로 변경하면서 여러 문제가 발생했습니다.

주요 이슈

  • Jackson을 통한 Serialization 오류: Scala Enumeration과 Option 필드가 잘못 출력되는 문제가 있었습니다.
  • Flink Streaming에서의 Serialization 문제: POJO와 Scala case class의 서로 다른 Serializer로 인해 런타임 오류가 발생했습니다.

해결 방법

Jackson serialization 오류는 jackson-module-scala를 사용하여 해결하고, 커스텀 ObjectMapper를 구현하여 모든 Enumeration 필드의 Serialization 문제를 해결했습니다. Flink Serialization 문제는 상속 관계 제거와 null값을 Option으로 변경하여 해결했습니다.

연관 게시글