back_recharge
parent
90e14e4493
commit
024e339bc3
|
@ -171,9 +171,14 @@ public class AreaManager {
|
||||||
if (System.currentTimeMillis() > execDate) {
|
if (System.currentTimeMillis() > execDate) {
|
||||||
serverArenaInfoManagerCache = serverArenaInfoManager;
|
serverArenaInfoManagerCache = serverArenaInfoManager;
|
||||||
int tmpAreaId = areaId;
|
int tmpAreaId = areaId;
|
||||||
boolean isSuccess = RedisUtil.getInstence().tryGetDistributedLock(RedisKey.ServerArenaJob, "", Integer.toString(newAreaId), 500);
|
boolean isSuccess = RedisUtil.getInstence().tryGetDistributedLock(RedisKey.ServerArenaJob, "", Integer.toString(newAreaId), 15000);
|
||||||
|
int i=0;
|
||||||
|
while (i<1000&&!isSuccess){
|
||||||
|
i++;
|
||||||
|
isSuccess= RedisUtil.getInstence().tryGetDistributedLock(RedisKey.ServerArenaJob, "", Integer.toString(newAreaId), 15000);
|
||||||
|
}
|
||||||
if (isSuccess) {
|
if (isSuccess) {
|
||||||
LOGGER.info(" serverArenaInfoManager get redis lock,the serverid={},the oldArea={},the newArea={}", GameApplication.serverId, areaId, newAreaId);
|
LOGGER.info(" serverArenaInfoManager get redis lock,the serverid={},the oldArea={},the newArea={},getlockTime{}", GameApplication.serverId, areaId, newAreaId,i);
|
||||||
try {
|
try {
|
||||||
new Thread("sever_area_change") {
|
new Thread("sever_area_change") {
|
||||||
@Override
|
@Override
|
||||||
|
@ -183,6 +188,8 @@ public class AreaManager {
|
||||||
serverStateReset();
|
serverStateReset();
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
LOGGER.error(" serverArenaInfoManager get exception", e);
|
LOGGER.error(" serverArenaInfoManager get exception", e);
|
||||||
|
}finally {
|
||||||
|
RedisUtil.getInstence().releaseDistributedLock(RedisKey.ServerArenaJob,"", Integer.toString(newAreaId));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -190,7 +197,7 @@ public class AreaManager {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error(" serverArenaInfoManager get exception", e);
|
LOGGER.error(" serverArenaInfoManager get exception", e);
|
||||||
} finally {
|
} finally {
|
||||||
RedisUtil.getInstence().releaseDistributedLock(RedisKey.ServerArenaJob,"", Integer.toString(newAreaId));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LOGGER.info(" serverArenaInfoManager not get redis lock,the serverid={},the oldArea={},the newArea={}", GameApplication.serverId, areaId, newAreaId);
|
LOGGER.info(" serverArenaInfoManager not get redis lock,the serverid={},the oldArea={},the newArea={}", GameApplication.serverId, areaId, newAreaId);
|
||||||
|
@ -343,6 +350,12 @@ public class AreaManager {
|
||||||
for(Map.Entry<Integer, GuildInfo> entry:guildInfoMap.entrySet()) {
|
for(Map.Entry<Integer, GuildInfo> entry:guildInfoMap.entrySet()) {
|
||||||
|
|
||||||
String newKey = RedisKey.getKey(RedisKey.C_Family_Name_Key, entry.getValue().getName(), true);
|
String newKey = RedisKey.getKey(RedisKey.C_Family_Name_Key, entry.getValue().getName(), true);
|
||||||
|
|
||||||
|
if(newKey.startsWith(String.valueOf(areaId))){
|
||||||
|
int length =newKey.length();
|
||||||
|
newKey = newAreaId+newKey.substring(String.valueOf(areaId).length(),length);
|
||||||
|
}
|
||||||
|
|
||||||
Object extFamilyId = RedisUtil.getInstence().get(newKey);
|
Object extFamilyId = RedisUtil.getInstence().get(newKey);
|
||||||
|
|
||||||
String tempName = newKey;
|
String tempName = newKey;
|
||||||
|
|
Loading…
Reference in New Issue