From 4463b0c1b258f9152e7535342b9d2608b9b8081b Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 4 Aug 2013 20:23:31 +1000 Subject: [PATCH] Use Java 7 API to make classloader thread safe. Closes #516 --- .../net/md_5/bungee/api/plugin/PluginClassloader.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java b/api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java index c5d0dd09..85203fb8 100644 --- a/api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java +++ b/api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java @@ -2,13 +2,18 @@ package net.md_5.bungee.api.plugin; import java.net.URL; import java.net.URLClassLoader; -import java.util.HashSet; import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; public class PluginClassloader extends URLClassLoader { - private static final Set allLoaders = new HashSet<>(); + private static final Set allLoaders = new CopyOnWriteArraySet<>(); + + static + { + ClassLoader.registerAsParallelCapable(); + } public PluginClassloader(URL[] urls) {