Kafka Consumer 서비스가 bookDonationEventApplyOutput
토픽으로부터 메시지를 받아 처리하는 도중 List<UserResponseDto>
타입으로의 변환 과정에서 ListenerExecutionFailedException
오류가 발생하였습니다.
이 오류는 Kafka 리스너 메서드 실행 중 예외가 발생했음을 나타냅니다.
ObjectMapper
를 사용하여 JSON 문자열을 Java 객체로 변환하려고 시도했습니다.List<UserResponseDto>
타입이었지만, ObjectMapper
에 정확한 타입 정보가 제공되지 않아 List<LinkedHashMap>
타입으로 잘못 변환되었습니다.ObjectMapper
에게 변환하려는 객체의 정확한 타입 정보를 제공해야 합니다.TypeReference
를 사용하여 List<UserResponseDto>
의 정확한 타입 정보를 readValue
메서드에 전달하였습니다.import com.fasterxml.jackson.core.type.TypeReference;
@KafkaListener(topics = "bookDonationEventApplyOutput", groupId = "bookDonationEventApplyOutputConsumerGroup")
public void AdminUserManagementConsume(String message) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
List<UserResponseDto> userResponseDtos = objectMapper.readValue(message, new TypeReference<List<UserResponseDto>>() {});
userResponseDtos.forEach(System.out::println);
}
정확한 타입 정보를 제공함으로써 ObjectMapper
는 JSON 문자열을 List<UserResponseDto>
타입으로 올바르게 변환할 수 있게 되었습니다.
이를 통해 메시지 처리가 성공적으로 이루어졌습니다.