/** initializes a new version vector for this region */ protected void createVersionVector() { this.versionVector = RegionVersionVector.create(getVersionMember(), this); if (dataPolicy.withPersistence()) { //copy the versions that we have recovered from disk into //the version vector. RegionVersionVector diskVector = this.diskRegion.getRegionVersionVector(); this.versionVector.recordVersions(diskVector.getCloneForTransmission()); } else if (!dataPolicy.withStorage()) { // version vectors are currently only necessary in empty regions for // tracking canonical member IDs this.versionVector.turnOffRecordingForEmptyRegion(); } if (this.srp != null) { this.versionVector.setIsClientVector(); } this.cache.getDistributionManager().addMembershipListener(this.versionVector); }
/** initializes a new version vector for this region */ protected void createVersionVector() { this.versionVector = RegionVersionVector.create(getVersionMember()); final RegionVersionVector<?> diskVector; if (dataPolicy.withPersistence() && (diskVector = this.diskRegion.getRegionVersionVector()) != null) { // copy the versions that we have recovered from disk into // the version vector. this.versionVector.recordVersions(diskVector .getCloneForTransmission(), null); } else if (!dataPolicy.withStorage()) { // version vectors are currently only necessary in empty regions for // tracking canonical member IDs this.versionVector.turnOffRecordingForEmptyRegion(); } if (this.srp != null) { this.versionVector.setIsClientVector(); } this.cache.getDistributionManager().addMembershipListener( this.versionVector); }