标签: java serialization enums
我有一个带有可序列化枚举类的分布式系统,其常量可能因系统而异。
因为这些类可能不同,所以在对不存在的常量进行反序列化时可能会调用valueOf,从而引发运行时异常。
我不相信valueOf可以被重写,或者在反序列化期间调用valueOf之前自定义插入的另一个方法。
有没有办法通过枚举来避免这个问题?
答案 0 :(得分:5)
主要问题是您的分布式系统上的内容不一致。最好的办法是先看看这个。
姑息治疗是在敏感类中使用readObject()方法,并捕获恶意枚举值的异常值。