【问题标题】: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 有一些同步机制来保证它的安全!

标签: java multithreading spring-mvc


【解决方案1】:

Should I declare Jackson's ObjectMapper as a static field?上查看@StaxMan 的cmets

基线:

DateFormat 在 Jackson 中被克隆,因此使用 SimpleDateFormat 是安全的。

【讨论】:

  • 谢谢!这真的很有帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-01
  • 1970-01-01
  • 2017-09-23
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多