我如何使用ObjectReader(ObjectReader的单个实例)重构以下代码
private MessageStructure parseSQSMessageToMessageStructure(final String queueMessage)
throws IOException, ObjectMapperException {
JsonNode messageAsJSON = objectMapper.readTree(queueMessage);
JsonNode messageAsJSONKey = messageAsJSON.get(MESSAGE_JSON_KEY);
return objectMapper.readValue(messageAsJSONKey.textValue(), MessageStructure.class);
}
最佳答案
正如@shmosel所说,您的问题与标题不符。
如果希望将ObjectMapper
的实例替换为ObjectReader
,请替换以下行。
来自:
return objectMapper.readValue(messageAsJSONKey.textValue(), MessageStructure.class);
成为 :
return objectReader.readValue(messageAsJSONKey.textValue(), MessageStructure.class);
上面的代码片段假定
objectReader
是ObjectReader
类的实例。以下是我从Java文档的
ObjectReader
获得的有关其性能的信息。使用“突变工厂”模式,以便实例是不变的(并且
因此完全线程安全,无需外部同步);新
实例是为不同的配置构造的。执行个体
最初是由{@link ObjectMapper}构建的,可以重复使用,
共享,缓存;既因为线程安全,又因为实例
相对较轻。
希望这可以帮助!