if (location.equals(logDirname)) {
return;
}
concurrentObj.writeLock();
try {
ReliableLog newLog = new ReliableLog(location,
new LocalLogHandler());
newLog.snapshot();
ReliableLog oldLog = this.log;
this.log = newLog;
logDirname = location;
MarshalledObject data = new MarshalledObject(location);
if (activationID != null) {
try {
// if (sharedActivationRef == null) {
ActivationSystem sys = ActivationGroup.getSystem();
ActivationDesc desc = sys.getActivationDesc
(activationID);
desc = new ActivationDesc(desc.getGroupID(),
desc.getClassName(),
desc.getLocation(),
data,
desc.getRestartMode());
sys.setActivationDesc(activationID, desc);
// } else {//in a shared activation group
// sharedActivationRef.setInitializationData(activationID,
// data);
// }//endif
} catch (ActivationException e) {
throw new LogException("activation system problem", e);
}
}
oldLog.deletePersistentStore();
} finally {
concurrentObj.writeUnlock();
}
}