jjzjj

readClassDescriptor

全部标签

java - 如何处理包改变的Java序列化对象?

我有一个存储在HttpSession对象中的Java类,该对象在集群环境中的服务器之间进行序列化和传输。为了便于解释,我们称这个类为“人”。在改进代码的过程中,此类已从“com.acme.Person”移至“com.acme.entity.Person”。在内部,该类保持完全相同(相同的字段、相同的方法、相同的一切)。问题是我们有两套服务器同时运行旧代码和新代码。使用旧代码的服务器已序列化HttpSession对象,当新代码反序列化它时,它会抛出ClassNotFoundException,因为它找不到对com.acme.Person的旧引用。此时,很容易处理这个问题,因为我们可以使用