From f9180dfb8dd53e9cd10cb20feba4b8f43eaef764 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 2 Jul 2014 16:38:04 +1000 Subject: [PATCH] Make use of Bungee scheduler for threaded operations. --- .../imaginarycode/minecraft/redisbungee/RedisBungee.java | 8 ++------ .../minecraft/redisbungee/util/UUIDFetcher.java | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java index 18596ec..775345f 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungee.java @@ -9,7 +9,6 @@ package com.imaginarycode.minecraft.redisbungee; import com.google.common.base.Functions; import com.google.common.collect.*; import com.google.common.io.ByteStreams; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.gson.Gson; import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent; import com.imaginarycode.minecraft.redisbungee.util.UUIDTranslator; @@ -29,8 +28,6 @@ import java.io.*; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.*; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; import java.util.logging.Level; @@ -351,7 +348,7 @@ public final class RedisBungee extends Plugin { } }, 0, 3, TimeUnit.SECONDS); consumer = new RedisBungeeConsumer(this); - new Thread(consumer, "RedisBungee Consumer Thread").start(); + getProxy().getScheduler().runAsync(this, consumer); if (configuration.getBoolean("register-bungee-commands", true)) { getProxy().getPluginManager().registerCommand(this, new RedisBungeeCommands.GlistCommand(this)); getProxy().getPluginManager().registerCommand(this, new RedisBungeeCommands.FindCommand(this)); @@ -527,12 +524,11 @@ public final class RedisBungee extends Plugin { } class JedisPubSubHandler extends JedisPubSub { - private final ExecutorService executor = Executors.newCachedThreadPool(new ThreadFactoryBuilder().setDaemon(true).setNameFormat("RedisBungee PubSub Handler - #%d").build()); @Override public void onMessage(final String s, final String s2) { if (s2.trim().length() == 0) return; - executor.submit(new Runnable() { + getProxy().getScheduler().runAsync(RedisBungee.this, new Runnable() { @Override public void run() { getProxy().getPluginManager().callEvent(new PubSubMessageEvent(s, s2)); diff --git a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/UUIDFetcher.java b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/UUIDFetcher.java index f5dd253..ee03f3b 100644 --- a/src/main/java/com/imaginarycode/minecraft/redisbungee/util/UUIDFetcher.java +++ b/src/main/java/com/imaginarycode/minecraft/redisbungee/util/UUIDFetcher.java @@ -46,7 +46,7 @@ class UUIDFetcher implements Callable> { uuidMap.put(profile.name, uuid); } if (rateLimiting && i != requests - 1) { - Thread.sleep(100L); + Thread.sleep(100L); // FIXME: This is not how we into concurrency } } return uuidMap;