Skip to content

深对象序列化时,对象类型存错了 #2

@xiafish201

Description

@xiafish201

public class FcProcess implements java.io.Serializable {

private static final long serialVersionUID = 3630124344252204424L;
// Fields
private String id = null;
private FcActivity start = null;
private FcActivityInst startActivityInst;
private Map<String, FcActivity> activitys = new HashMap<String, FcActivity>();
private Map<String, FcTransition> transtions = new HashMap<String, FcTransition>();

//setget方法省略。。。。。
}

public class FcActivity implements java.io.Serializable {

private static final long serialVersionUID = -9007766803863740129L;
private FcProcess process;
private String actId;// 唯一
private String preActId
private String actType;
private String className;
private String refProcId;
private Map<String, FcTransition> afterLine = new LinkedHashMap<String, FcTransition>();
private Map<FcTransitionKey, FcTransition> tranByKey = new LinkedHashMap<FcTransitionKey, FcTransition>();

//setget方法省略。。。。。
}

public class FcTransition implements java.io.Serializable {

private static final long serialVersionUID = -4999580208748055052L;
private String id;// 唯一
private boolean defaultFlag = false;
private FcTransitionKey key = new FcTransitionKey();
    private String conditionFlag = "all";
private List<FcTransitionCondition> conditionList = new ArrayList<FcTransitionCondition>();// 指该Transition中的条件的集合

//setget方法省略。。。。。
}

在序列化这个对象时,递归到FcTransition这里的conditionList时,会将它的对象类型存成7(MAP_HASH = 7;)然后在翻序列化时就会报错了,Object com.jd.dd.glowworm.deserializer.multi.ListDeserializer.getActualTypeObjectWhileInterface(PBDeserializer deserializer)里面的throw new PBException("不支持这种List类型!");

这个是对对象层次或者类型有限制么?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions