You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Quarkus项目中Kafka消费LocalDateTime反序列化失败求助

Quarkus Kafka消费时LocalDateTime反序列化失败问题

在基于JDK 17的Quarkus项目中,消费Kafka消息并反序列化对象时遭遇LocalDateTime反序列化失败问题。此前序列化消息时,通过ObjectMapper().registerModule(new JavaTimeModule());解决过同类问题,但现在处理同一对象的消费反序列化时完全无效。

已尝试以下4种解决方案,均以失败告终:

  1. 使用Jackson注册JavaTimeModule后反序列化
new ObjectMapper().registerModule(new JavaTimeModule());
mapper.readValue(data, BudgetToMarinaOrderDTO.class);
  1. 注册JavaTimeModule并关闭时间戳序列化特性
new ObjectMapper().registerModule(new JavaTimeModule()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
mapper.readValue(data, BudgetToMarinaOrderDTO.class);
  1. 使用Gson默认实例反序列化
Gson gson = new GsonBuilder().create();
gson.fromJson(data, BudgetToMarinaOrderDTO.class);
  1. 为Gson注册自定义LocalDateTime反序列化器
gsonBuilder.registerTypeAdapter(LocalDateTime.class, new CustomLocalDateTimeDeserializer());
Gson gson = gsonBuilder.setPrettyPrinting().create();
gson.fromJson(data, BudgetToMarinaOrderDTO.class);

项目相关依赖如下:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-smallrye-reactive-messaging-kafka</artifactId>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.10</version>
</dependency>

所有方案的核心报错均为LocalDateTime反序列化失败,其中一条典型错误信息如下:

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.time.LocalDateTime` from Object value (

内容的提问来源于stack exchange,提问作者rafaelpadu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:55:23