Akka Rest Server Jackson ObjectReader和ObjectWriter初始化

时间:2019-07-04 17:43:03

标签: akka jackson-databind

我正在使用jackson ObjectReader和ObjectWriter对象在Akka Rest Server中进行序列化和反序列化。 我在请求中获取byteString并将其反序列化为对象。下面是它的scala代码。

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执行上下文中它仍然没有改善。有人知道解决方案吗?请帮忙。

0 个答案:

没有答案