java.time.Instant 不会在消费者端呈现

标签 java timestamp spring-kafka java-time java.time.instant

我正在尝试使用 Kafka 发送一些信息。我有一个类来处理这项任务。该类包含一个名为“timestamp”、类型为 Instant 的私有(private)变量。生成时间戳后,它会正确呈现。但是,当我在消费者端收到消息时,时间戳不可读。

它看起来像这样“时间戳”:1685968244.889278400

此外,我有一个定义如下的响应类:

public class Response<T> {
    private T data;
    private String statusCode;
    private String statusMessage;
    private Instant timestamp;
}

当我将 timestamp 属性转换为字符串时,一切看起来都很好,但我想渲染时间戳,如下所示:
“时间戳”:2023-06-05T15:07:06.497159Z 我怎样才能做到这一点?

最佳答案

我怀疑来自即时类型。有一次,我遇到了同样的问题,当我用 Joda-Time 中的 DateTime 替换 Instant 时,我解决了这个问题。另一种可能的解决方案是,如果您使用自定义序列化器/反序列化器,也可能会发生这种情况。所以,基本上,您可以使用 JsonSerializer/JsonDeserializer。我希望这些信息对您有用

关于java.time.Instant 不会在消费者端呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76415498/

相关文章:

java - JPanel 上的永久背景图像

python - 如何在Python中创建时间戳变量?

java - 跟踪 java 字节码流

java - 使用 RESTEasy 3.x 更改默认的 JSON 时间格式

sql - 将时间戳字段的分钟和秒组件设置为 0

java - Spring-Kafka消费者收不到消息

java - Spring Kafka 找不到 Kafka Properties Bean

java - Spring Kafka - 如何使用组 ID 将偏移量重置为最新?

java - 我必须为 Play Framework Filters 导入哪个包

python - 使用datastax python-driver从cassandra获取正确的时间戳