Я использую объекты Jackson ObjectReader и ObjectWriter для сериализации и десериализации в Akka Rest Server.
Я получаю byteString в запросе и десериализую его для объекта. Ниже приведен код для этого.
val a = objectReader.readValue[java.util.List[Base[Long]]](request.toArray)
Базовый класс является абстрактным классом, и я могу иметь несколько его реализаций
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME,
property = "impl")
@JsonSubTypes({
@JsonSubTypes.Type(value = A.class, name = "A")
})
public abstract class Base<T> implements Serializable {
private String impl;
private ResponseStatus status;
public String getImpl() {
return impl;
}
public void setImpl(String impl) {
this.impl = impl;
}
public void setStatus(ResponseStatus status) {
this.status = status;
}
public ResponseStatus getStatus() {
return status;
}
public static class ResponseStatus implements Serializable {
private ReturnCode code;
private String msg;
public void setCode(ReturnCode code) {
this.code = code;
}
public void setMsg(String msg) {
this.msg = msg;
}
public ReturnCode getCode() {
return code;
}
public String getMsg() {
return msg;
}
}
}
Как я уже заметил, первый вызов readValue и writeValueAsBytes занимает много времени.
Я попытался инициализировать это. Но все же это не улучшается в контексте выполнения Akka. Кто-нибудь знает решение этого? Пожалуйста помоги.