例如,我有一个稳定的服务器运行。它通过Status以 json 格式序列化一个实例,在zookeeper 实例上注册服务器状态。
一段时间后,我在Status类中添加了一个实例字段,并testserver在同一个 zookeeper 实例上开始另一个注册其服务器状态。
现在我需要编写一些检查器程序来监视两台服务器。我应该怎么做才能正确反序列化两个版本并希望处理未来版本的Status类?
我试图删除所有字段并改用地图。但是感觉不是很方便。像这样:
public class Status
{
private int serverId;
//...
}
// changes to
public class Status
{
public static final String SERVERID = "serverId";
private Map<String, Object> properties = new HashMap<>();
//...
}
有什么建议么?有没有处理这种情况的最佳实践?
胡子哥哥
相关分类