我正在尝试使用 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/