我正在寻找验证/更正以下-只是不要错过com.fasterxml.jackson.databind.ObjectMapper在Map操作后不保留任何状态,特别是在调用它的.writeValueAsString(Object)时?我将在代码中的几个地方和不同类型的对象上使用一个ObjectMapper。我在想这会不会有什么麻烦。
com.fasterxml.jackson.databind.ObjectMapper
.writeValueAsString(Object)
ObjectMapper
f45qwnt81#
ObjectMapper是线程安全的,所以你可以在不同的地方和不同的线程中使用同一个示例,它会工作得很好。事实上,使用相同的示例是一种很好的做法。基于这个事实,我实际上写了一个JSON实用程序,它提供了静态方法,用于将任意类示例序列化到JSON或从JSON反序列化。此实用程序是ObjectMapper类的一个精简 Package 器。在后台,我有一个ObjectMapper类的示例,用于所有操作。这个实用程序在多线程环境中工作得很好,这证明了我的答案,即您可以在不同的地方和不同的线程中安全地使用单个ObjectMapper示例。如果你有兴趣,你可以检查我的工具。这是一个JsonUtils Javadoc。它是由我编写和维护的开源MgntUtils Java库的一部分。您可以从maven artifact或Github获取它(包括源代码和Javadoc)
1条答案
按热度按时间f45qwnt81#
ObjectMapper
是线程安全的,所以你可以在不同的地方和不同的线程中使用同一个示例,它会工作得很好。事实上,使用相同的示例是一种很好的做法。基于这个事实,我实际上写了一个JSON实用程序,它提供了静态方法,用于将任意类示例序列化到JSON或从JSON反序列化。此实用程序是
ObjectMapper
类的一个精简 Package 器。在后台,我有一个ObjectMapper
类的示例,用于所有操作。这个实用程序在多线程环境中工作得很好,这证明了我的答案,即您可以在不同的地方和不同的线程中安全地使用单个ObjectMapper
示例。如果你有兴趣,你可以检查我的工具。这是一个JsonUtils Javadoc。它是由我编写和维护的开源MgntUtils Java库的一部分。您可以从maven artifact或Github获取它(包括源代码和Javadoc)