back_recharge
zhangshanxue 2020-08-14 14:30:31 +08:00
parent ca65ff8689
commit a2504adc4c
7 changed files with 73 additions and 39 deletions

View File

@ -74,7 +74,7 @@ public class MongoUpdateCache {
protected void update( MongoUpdateImp mongoUpdateImp){
mongoUpdateImp.updateMongoData( requestMap);
mongoUpdateImp.updateMongoData(requestMap);
requestMap.clear();
if (updateDataMap.size() !=0){
ConcurrentDataMessage.addLogQueue(new HashMap<>(updateDataMap));
@ -82,10 +82,10 @@ public class MongoUpdateCache {
}
}
// public void concurrentDataUpdate(LjsdMongoTemplate ljsdMongoTemplate, Map<String, Map<String, UpdateRequest>> updateRequestMap) {
// updateMongoData(ljsdMongoTemplate, updateRequestMap);
// public void concurrentDataUpdate( Map<String, Map<String, UpdateRequest>> updateRequestMap) {
// updateMongoData(updateRequestMap);
// }
//
// private void updateMongoData( Map<String, Map<String, UpdateRequest>> updateRequestMap) {
// BasicDBObject searchQuery = new BasicDBObject();
// for (Map.Entry<String, Map<String, UpdateRequest>> entry : updateRequestMap.entrySet()) {

View File

@ -29,8 +29,9 @@ public class MongoUpdateCacheThreadLocal {
mongoUpdateCache.update(mongoUpdateImp);
}
// public static void concurrentDataUpdate(LjsdMongoTemplate ljsdMongoTemplate,Map<String, Map<String, MongoUpdateCache.UpdateRequest>> updateRequestMap) {
// public static void concurrentDataUpdate(Map<String, Map<String, MongoUpdateCache.UpdateRequest>> updateRequestMap) {
// MongoUpdateCache mongoUpdateCache = getMongoUpdateCache();
// mongoUpdateCache.concurrentDataUpdate(ljsdMongoTemplate, updateRequestMap);
//
// mongoUpdateCache.concurrentDataUpdate(updateRequestMap);
// }
}

View File

@ -1,6 +1,7 @@
package com.ljsd.common.mogodb.util;
import com.ljsd.common.mogodb.MongoUpdateCache;
import com.ljsd.common.mogodb.MongoUpdateImp;
import java.util.HashMap;
import java.util.Map;
@ -14,10 +15,11 @@ public class ConcurrentDataMessage {
dataQueue.offer(info);
}
// public static void manageData(LjsdMongoTemplate myMongoTemplate) throws Exception {
//// Map<String, Map<String, MongoUpdateCache.UpdateRequest>> take = ConcurrentDataMessage.dataQueue.take();
//// myMongoTemplate.concurrentDataUpdate(take);
//// }
public static void manageData(MongoUpdateImp myMongoTemplate) throws Exception {
Map<String, Map<String, MongoUpdateCache.UpdateRequest>> take = ConcurrentDataMessage.dataQueue.take();
// myMongoTemplate.concurrentDataUpdate(take);
myMongoTemplate.updateMongoData(take);
// }
public static void main(String[] args) throws InterruptedException {
BlockingQueue<Map<String, String>> dataQueueTest = new BlockingUniqueQueue<>();

View File

@ -87,7 +87,7 @@ public class GameLogicService implements IService {
STableManager.initialize("config");
//mongo异步数据处理线程
//MongoDataHandlerTask.init();
MongoDataHandlerTask.init();
//初始化邮件
MailingSystemManager.init();

View File

@ -292,10 +292,41 @@ public class RedisKey {
public static Set<String> newAreaCacChe = new HashSet<>();
public static Set<String> rankCacChe = new HashSet<>();
static {
newAreaCacChe.add(CHAMPION_MY_BATTLLE_IDS);
newAreaCacChe.add(CHAMPION_BET_MINE);
newAreaCacChe.add(CHAMPION_BET_DETAIL);
rankCacChe.add(CHAMPION_RANK);
rankCacChe.add(MAP_RANK);
rankCacChe.add(ARENA_RANK);
rankCacChe.add(ADVENTRUEN_BOSS_RANK);
rankCacChe.add(TOWER_RANK);
rankCacChe.add(FORCE_RANK);
rankCacChe.add(AREDEF_TEAM_FORCE_RANK);
rankCacChe.add(EXPERT_RANK);
rankCacChe.add(FORCE_CURR_RANK);
rankCacChe.add(MAIN_LEVEL_RANK);
rankCacChe.add(RANDOM_CARD_RANK);
rankCacChe.add(RANDOM_CARD_PERFECT_RANK);
rankCacChe.add(GUILD_FORCE_RANK);
rankCacChe.add(GUILD_BOSS_RANK);
rankCacChe.add(GUILD_RED_PACKAGE_RANK);
rankCacChe.add(CAR_DEALY_RANK);
rankCacChe.add(CAR_DEALY_GUILD_RANK);
rankCacChe.add(FAMILY_FIGHT_STAR_RANK);
rankCacChe.add(MONSTER_ATTACK_RANK);
rankCacChe.add(DEATH_PATH_EVERY_PERSON_RANK);
rankCacChe.add(DEATH_PATH_EVERY_GUILD_RANK);
rankCacChe.add(DEATH_PATH_TOTAL_PERSON_RANK);
rankCacChe.add(DEATH_PATH_TOTAL_GUILD_RANK);
rankCacChe.add(SITUATION_RANK);
}
static {
@ -322,7 +353,7 @@ public class RedisKey {
return GameApplication.serverProperties.getAreaId()+RedisKey.Delimiter_colon+ type+RedisKey.Delimiter_colon+key;
}
if(!newAreaCacChe.contains(type)){
if(!newAreaCacChe.contains(type)&&!rankCacChe.contains(type)){
if(key.length() == 8) {
Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key,key,
Integer.class, -1);

View File

@ -1216,7 +1216,7 @@ public class RedisUtil {
}
if(!RedisKey.newAreaCacChe.contains(type)){
if(!RedisKey.newAreaCacChe.contains(type)&&!RedisKey.rankCacChe.contains(type)){
if(key.length() == 8) {
Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key,key,
Integer.class, -1);

View File

@ -9,30 +9,30 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Component
public class MongoDataHandlerTask extends Thread {
// private static LjsdMongoTemplate myMongoTemplate;
// public MongoDataHandlerTask(){
// setName("MongoDataHandlerTask");
// }
// @Override
// public void run() {
// while (true) {
// try {
// ConcurrentDataMessage.manageData(myMongoTemplate);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
// }
// public static void init(){
// myMongoTemplate = ConfigurableApplicationContextManager.getBean(LjsdMongoTemplate.class);
//// startTlogThread();
// }
//
// public static void startTlogThread(){
// ExecutorService pool = Executors.newCachedThreadPool();
// for (int i = 0; i < 1 ; i++){
// MongoDataHandlerTask myThread = new MongoDataHandlerTask();
// pool.execute(myThread);
// }
// }
private static LjsdMongoTemplate myMongoTemplate;
public MongoDataHandlerTask(){
setName("MongoDataHandlerTask");
}
@Override
public void run() {
while (true) {
try {
ConcurrentDataMessage.manageData(myMongoTemplate);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void init(){
myMongoTemplate = ConfigurableApplicationContextManager.getBean(LjsdMongoTemplate.class);
// startTlogThread();
}
public static void startTlogThread(){
ExecutorService pool = Executors.newCachedThreadPool();
for (int i = 0; i < 1 ; i++){
MongoDataHandlerTask myThread = new MongoDataHandlerTask();
pool.execute(myThread);
}
}
}