From 7fbd6685013a747ab848cc0ffa45ee207db95202 Mon Sep 17 00:00:00 2001 From: JoshOOOWAH <89082472387@yandex.ru> Date: Tue, 28 May 2019 00:11:47 +0500 Subject: [PATCH] GC fix --- .../launchserver/manangers/OAuthManager.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/LaunchServer/src/main/java/ru/gravit/launchserver/manangers/OAuthManager.java b/LaunchServer/src/main/java/ru/gravit/launchserver/manangers/OAuthManager.java index 1f0ddd31..56076485 100644 --- a/LaunchServer/src/main/java/ru/gravit/launchserver/manangers/OAuthManager.java +++ b/LaunchServer/src/main/java/ru/gravit/launchserver/manangers/OAuthManager.java @@ -19,6 +19,19 @@ public void garbageCollection() { for(int i=0; i < 5; i++ ) { LaunchServer.server.cacheHandler.stageArea[i].destroy.run(); + int finalI = i; + LaunchServer.server.cacheHandler.stageArea[i].destroy = new TimerTask() { + @Override + public void run() { + if(!LaunchServer.server.cacheHandler.stageArea[finalI].init) + return; + LogHelper.debug("cache purged, IP: " + LaunchServer.server.cacheHandler.stageArea[finalI].IP()); + LaunchServer.server.cacheHandler.stageArea[finalI].init = false; + LaunchServer.server.cacheHandler.stageArea[finalI].mTimer = null; + LaunchServer.server.cacheHandler.stageArea[finalI].client = null; + LaunchServer.server.cacheHandler.stageArea[finalI].ctx = null; + } + }; } LogHelper.subInfo("OAuthCache purged"); } @@ -38,9 +51,9 @@ public void setEntry(Client client, ChannelHandlerContext ctx){ this.init = true; this.client = client; this.ctx = ctx; - LogHelper.subDebug("New Entry with IP " + IP()); this.mTimer = new Timer(); this.mTimer.schedule(destroy, 300000L); + LogHelper.subDebug("New Entry with IP " + IP()); } } @@ -66,7 +79,7 @@ public String IP(){ private TimerTask destroy = new TimerTask() { @Override public void run() { - if(init == false) + if(!init) return; LogHelper.debug("cache purged, IP: " + IP()); init = false;