在fastxml的ObjectMapper中使用SimpleDateFormat是不是安全[重复]
Posted
技术标签:
【中文标题】在fastxml的ObjectMapper中使用SimpleDateFormat是不是安全[重复]【英文标题】:Is it safe to use SimpleDateFormat in fasterxml's ObjectMapper [duplicate]在fastxml的ObjectMapper中使用SimpleDateFormat是否安全[重复] 【发布时间】:2016-02-13 19:29:57 【问题描述】:大家!
我知道 SimpleDateFormat 不是线程安全的,我们不应该在多线程环境中使用单个实例!
ObjectMapper 是线程安全的,这很好。
现在我想知道在 ObjectMapper 中使用 SimpleDateFormat 是否安全! 这是我的自定义 ObjectMapper:
public class MyObjectMapper extends ObjectMapper
public MyObjectMapper()
configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
我在 springmvc 的配置中使用它。
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters)
MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter();
jsonConverter.setObjectMapper(new MyObjectMapper());
converters.add(jsonConverter);
如果是,ObjectMapper 是如何做到的!
如果不是,我应该使用什么 DateFormat!
谢谢!
【问题讨论】:
我将它与 ObjectMapper 一起使用!我想也许 ObjectMapper 有一些同步机制来保证它的安全! 【参考方案1】:在Should I declare Jackson's ObjectMapper as a static field?上查看@StaxMan 的cmets
基线:
DateFormat
在 Jackson 中被克隆,因此使用 SimpleDateFormat
是安全的。
【讨论】:
谢谢!这真的很有帮助。以上是关于在fastxml的ObjectMapper中使用SimpleDateFormat是不是安全[重复]的主要内容,如果未能解决你的问题,请参考以下文章
fastxml Jackson annotation使用小记
如何使用 fastxml jackson 更改 xml 类名?
Apache Beam 的 BigQueryIO (Java):无法将 TIMESTAMP 字段写入 BigQuery——fastxml.jackson 异常“类型不支持”
如何使用 Spring application.properties 自定义 Jackson ObjectMapper?