说明
该类一般用于表识数据(配置)的版本,用来辅助判断是否需要更新数据(配置)等
字段
private long timestamp = System.currentTimeMillis();//最新版本的时间
private AtomicLong counter = new AtomicLong(0);//最新版本号
方法
/**
* 把目标dataVersion给copy过来
*/
public void assignNewOne(final DataVersion dataVersion) {
this.timestamp = dataVersion.timestamp;
this.counter.set(dataVersion.counter.get());
}
/**
* 更新到下一个版本
* 更新时间戳以及counter
*/
public void nextVersion() {
this.timestamp = System.currentTimeMillis();
this.counter.incrementAndGet();
}
其他Object方法不展开
思考
DataVersion辅助判断版本变化的例子
RouteInfoManager#isBrokerTopicConfigChanged
网友评论