Skip to content

Commit 4c0c7f5

Browse files
Add okhttp shutdown logic on plugin disabling
1 parent 177aab9 commit 4c0c7f5

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/main/java/org/maxgamer/quickshop/QuickShop.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import lombok.Getter;
2929
import lombok.Setter;
3030
import me.minebuilders.clearlag.listeners.ItemMergeListener;
31+
import okhttp3.OkHttpClient;
3132
import org.apache.commons.lang3.StringUtils;
3233
import org.bukkit.Bukkit;
3334
import org.bukkit.OfflinePlayer;
@@ -101,6 +102,7 @@
101102
import org.maxgamer.quickshop.shop.SimpleShopManager;
102103
import org.maxgamer.quickshop.shop.VirtualDisplayItem;
103104
import org.maxgamer.quickshop.util.GameVersion;
105+
import org.maxgamer.quickshop.util.HttpUtil;
104106
import org.maxgamer.quickshop.util.JsonUtil;
105107
import org.maxgamer.quickshop.util.MsgUtil;
106108
import org.maxgamer.quickshop.util.PermissionChecker;
@@ -792,10 +794,20 @@ public final void onDisable() {
792794
}
793795

794796
Util.debugLog("Cleanup listeners...");
795-
796797
HandlerList.unregisterAll(this);
797798
Util.debugLog("Unregistering plugin services...");
798799
getServer().getServicesManager().unregisterAll(this);
800+
Util.debugLog("Shutdown okhttp client...");
801+
try {
802+
OkHttpClient client = HttpUtil.getClientInstance();
803+
client.dispatcher().executorService().shutdown();
804+
client.connectionPool().evictAll();
805+
okhttp3.Cache cache = client.cache();
806+
if (cache != null) {
807+
cache.close();
808+
}
809+
} catch (Throwable ignored) {
810+
}
799811
Util.debugLog("Cleanup...");
800812
Util.debugLog("All shutdown work is finished.");
801813

0 commit comments

Comments
 (0)