【发布时间】:2021-07-09 08:27:20
【问题描述】:
我正在尝试向 kafka 主题生成一些消息,并且我想自定义 Jackson ObjectMapper 以将我的 LocalDateTime 序列化为这样的字符串 2021-07-08T16:43:02Z
但这都不是
@Configuration
public class WebConfiguration {
...
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JavaTimeModule());
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return mapper;
}
}
或者这个
spring:
jackson:
serialization:
write-dates-as-timestamps: false
成功了,
我总是在主题中收到一条字段时间为的消息
"time": [
2021,
7,
8,
10,
46,
29,
598476000
]
应用程序.yaml
spring:
main:
web-application-type: none
kafka:
bootstrap-servers: ${KAFKA_SERVERS}
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
...
【问题讨论】:
-
是的;通过 kafka 属性配置序列化程序时,Kafka 创建它,而不是 Spring。查看该问题的答案。
标签: java spring jackson spring-kafka