diff --git a/serverlogic/src/main/java/com/ljsd/GameApplication.java b/serverlogic/src/main/java/com/ljsd/GameApplication.java index 62a00b825..b1b842688 100644 --- a/serverlogic/src/main/java/com/ljsd/GameApplication.java +++ b/serverlogic/src/main/java/com/ljsd/GameApplication.java @@ -44,14 +44,10 @@ public class GameApplication { public static void main(String[] args) throws Exception { start = true; ConfigurableApplicationContextManager.init(args); - //init servercfg ServerConfiguration serverConfiguration = ConfigurableApplicationContextManager.getBean(ServerConfiguration.class); - serverProperties = serverConfiguration.getServerProperties(); serverId = serverProperties.getId(); -// CoreSettings coreSettings = ConfigurableApplicationContextManager.getBean(CoreSettings.class); - // GameApplication.areaId = coreSettings.getArea(); LOGGER.info("ServerProperties ->{},coreIp=>{}", serverProperties.toString()); initReportLog(); MongoUtil.getInstence().init(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java index 8cfbb0177..67e5337ef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/OpenServerCompeteRankActivity.java @@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.rank.RankContext; import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.network.server.ProtocolsManager; +import com.ljsd.jieling.thread.ThreadManager; import com.ljsd.jieling.util.*; import config.SChongRank; import config.SChongRankInfo; @@ -50,7 +51,7 @@ public class OpenServerCompeteRankActivity extends AbstractActivity { int rankType = rankInfo.getRankType(); try { long endTime = getEndTime(rankType); - TaskKit.scheduleOne(() -> sendReward(rankType), endTime, TimeUnit.MILLISECONDS); + ThreadManager.scheduleOne(() -> sendReward(rankType), endTime, TimeUnit.MILLISECONDS); LOGGER.info("===========================冲榜初始化:{}-{}-{}",id,rankType,endTime); }catch (Exception e){ LOGGER.error("冲榜初始化异常,id:{},type:{}",id, rankType); 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 97bc4ae13..c3f49311f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java @@ -131,6 +131,27 @@ public class ThreadManager implements IManager { return scheduledExecutor; } + /** + * 在指定的延时之后运行一次任务。 + * @param task 具体待执行的任务 + * @param startTime 首次执行任务的延时时间 + * @param unit 时间单位 + */ + public static void scheduleOne(final Runnable task, long startTime, final TimeUnit unit) { + scheduledExecutor.schedule(task,startTime,unit); + } + + /** + * 在指定的延时之后开始以固定的频率来运行任务。后续任务的启动时间不受前次任务延时影响。 + * @param task 具体待执行的任务 + * @param initialDelay 首次执行任务的延时时间 + * @param period 每次执行任务的间隔时间(单位秒) + * @param unit 时间单位 + */ + public static ScheduledFuture scheduleAtFixedRate(Runnable task, long initialDelay, long period, TimeUnit unit) { + return scheduledExecutor.scheduleAtFixedRate(task, initialDelay, period, unit); + } + public static void reStart(){ LOGGER.info("重启线程池!!"); // scheduledExecutor.shutdown();