diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java index c9336921e..693193852 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/HandlerLogicThread.java @@ -110,10 +110,12 @@ public class HandlerLogicThread extends Thread{ try { AyyncWorker ayyncWorker =null; boolean hasAsyncWorker =false; + //这里检查是否有需要执行的其他线程给过来的任务 while ( (ayyncWorker = ayyncWorkerConcurrentLinkedQueue.poll())!=null){ hasAsyncWorker=true; ayyncWorker.work(ayyncWorker.getUser()); } + //这里判断是否有新的请求进来 PacketNetData packetNetData = handlerLinkedQueue.poll(); if(packetNetData == null){ if(hasAsyncWorker){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java index fc8545527..648689d1d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java @@ -311,7 +311,8 @@ public class ChampionshipLogic { //获取竞技场排行榜 Set> arenaRankInfo = new HashSet<>(championshipPlayer); - Set> arenaRankInfoOne = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(curSeason), 0, championshipPlayer); + //start-end为0 127 才能拿到第128 不然会多拿到129 + Set> arenaRankInfoOne = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(curSeason), 0, championshipPlayer-1); if (arenaRankInfoOne != null && !arenaRankInfoOne.isEmpty()) { arenaRankInfo.addAll(arenaRankInfoOne); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index 680a105b5..c3a2c7772 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -429,6 +429,7 @@ public class GuildLogic { Integer position = memberEntry.getKey(); Set value = memberEntry.getValue(); for(Integer uidTmp : value){ + LOGGER.info("family有问题的uid:{}",uidTmp); User userTmp = UserManager.getUser(uidTmp); builder.addFamilyUserInfo(CBean2Proto.getFamilyUserInfo(userTmp,position)); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java index a186b44c2..3686cc8dd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/friend/FriendLogic.java @@ -76,6 +76,7 @@ public class FriendLogic { List friends = friendManager.getFriends(); List friendList = new CopyOnWriteArrayList<>(); for (Integer friendId :friends){ + LOGGER.info("有问题的Uid:{}",friendId); CommonProto.Friend friend = CBean2Proto.getFriendInfo(friendId,friendManager); friendList.add(friend); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java index cf5980860..35ed53fce 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/rank/rankImpl/AbstractRank.java @@ -103,6 +103,7 @@ public abstract class AbstractRank implements IRank { return builder; } ZSetOperations.TypedTuple data = rankByKey.iterator().next(); + LOGGER.info("有问题的ArenaId{}",Integer.parseInt(data.getValue())); User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true); if (everyUser == null){ return builder; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java index 9ac0f2560..918d5fe8c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java @@ -157,4 +157,7 @@ public class ThreadManager implements IManager { executor.execute(task); } + public static ThreadPoolExecutor getExecutor() { + return executor; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java index 1670c0755..3e7a0d5cb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/RPCServerTask.java @@ -4,6 +4,7 @@ import com.google.gson.Gson; import com.ljsd.CoreService; import com.ljsd.GameApplication; import com.ljsd.jieling.config.json.CoreSettings; +import com.ljsd.jieling.thread.ThreadManager; import com.ljsd.jieling.thrift.idl.RPCRequestIFace; import com.ljsd.jieling.util.ConfigurableApplicationContextManager; import org.apache.thrift.TProcessor; @@ -43,6 +44,7 @@ public class RPCServerTask extends Thread{ TBinaryProtocol.Factory proFactory = new TBinaryProtocol.Factory(true, true); trArgs.protocolFactory(proFactory); trArgs.maxWorkerThreads(16); + trArgs.executorService(ThreadManager.getExecutor()); LOGGER.info("run->RPC services is starting."); final TServer server = new TThreadPoolServer(trArgs); while (true) {