From a63d98a2d784e0c994e21cf3742d2ecc471e53e3 Mon Sep 17 00:00:00 2001 From: Keir Date: Thu, 7 Jan 2016 07:04:24 +0000 Subject: [PATCH] Write to files asynchronously. --- .../chatsnap/RedisCommandHandler.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Plugins/Mineplex.ReportServer/src/mineplex/chatsnap/RedisCommandHandler.java b/Plugins/Mineplex.ReportServer/src/mineplex/chatsnap/RedisCommandHandler.java index bc0899cf1..7b9d18208 100644 --- a/Plugins/Mineplex.ReportServer/src/mineplex/chatsnap/RedisCommandHandler.java +++ b/Plugins/Mineplex.ReportServer/src/mineplex/chatsnap/RedisCommandHandler.java @@ -7,6 +7,7 @@ import java.io.IOException; import java.nio.file.Files; import java.util.Arrays; import java.util.Map; +import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ThreadPoolExecutor; import java.util.logging.Level; @@ -30,8 +31,10 @@ public class RedisCommandHandler extends JedisPubSub private static final JsonParser _jsonParser = new JsonParser(); - private File _directory; - private Logger _logger; + private final File _directory; + private final Logger _logger; + + private final ExecutorService _executorService = Executors.newCachedThreadPool(); public RedisCommandHandler(File directory, Logger logger) { @@ -93,14 +96,8 @@ public class RedisCommandHandler extends JedisPubSub } } - try - { - Files.write(target.toPath(), Arrays.asList(json.split("\n"))); - } - catch (IOException e) - { - e.printStackTrace(); - } + + writeFile(target, json); } else if (channel.equals(ReportServer.CHANNEL_DESTROY)) { @@ -120,6 +117,11 @@ public class RedisCommandHandler extends JedisPubSub } } + private void writeFile(File file, String json) + { + _executorService.submit(() -> Files.write(file.toPath(), Arrays.asList(json.split("\n")))); + } + @Override public void onPMessage(String s, String s1, String s2) {