From cc33304ad43244ee24c804a7a054637966c7ce83 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Wed, 27 Mar 2024 09:41:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(ball-common):=20=E4=BF=AE=E5=A4=8D=20jedis?= =?UTF-8?q?=20=E7=BA=BF=E7=A8=8B=E5=8D=A0=E7=94=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mc/plugin/ball/common/api/BallAPI.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java index 842449b..582b444 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java @@ -105,6 +105,7 @@ public abstract class BallAPI { } protected void enable() throws SQLException, InterruptedException { + CoreAPI.getInstance().getExecutorService().submit(() -> redisSub.subscribe(BallRedisListener.INSTANCE, BALL_CHANNEL)); try (Jedis jedis = CoreAPI.getInstance().getJedisPool().getResource()) { String key = "HamsterBall:ServerInfo:" + localServerInfo.getId(); if (jedis.exists(key)) { @@ -179,7 +180,6 @@ public abstract class BallAPI { } getLogger().info("从数据库中加载了 " + allServerInfo.size() + " 条服务器信息"); getLogger().info("从数据库中加载了 " + allPlayerInfo.size() + " 条玩家信息"); - subscribeRaw(BALL_CHANNEL); } protected void disable() throws SQLException, InterruptedException { @@ -521,13 +521,14 @@ public abstract class BallAPI { * @param channels 频道名称 */ public void subscribeRaw(@NotNull String... channels) { - CoreAPI.getInstance().getExecutorService().submit(() -> { - try { - redisSub.subscribe(BallRedisListener.INSTANCE, channels); - } catch (Exception | Error e) { - e.printStackTrace(); - } - }); + BallRedisListener.INSTANCE.subscribe(channels); +// CoreAPI.getInstance().getExecutorService().submit(() -> { +// try { +// redisSub.subscribe(BallRedisListener.INSTANCE, channels); +// } catch (Exception | Error e) { +// e.printStackTrace(); +// } +// }); } /** @@ -536,9 +537,10 @@ public abstract class BallAPI { * @param patterns 频道名称正则表达式 */ public void subscribePatterns(@NotNull String patterns) { - CoreAPI.getInstance().getExecutorService().submit( - () -> redisSub.psubscribe(BallRedisListener.INSTANCE, patterns) - ); + BallRedisListener.INSTANCE.psubscribe(patterns); +// CoreAPI.getInstance().getExecutorService().submit( +// () -> redisSub.psubscribe(BallRedisListener.INSTANCE, patterns) +// ); } /** @@ -546,22 +548,22 @@ public abstract class BallAPI { *
* 会自动加上 config 中设置的频道前缀 * - * @param channel 频道名称 + * @param channels 频道名称 */ - public void unsubscribe(@NotNull String... channel) { - for (int i = 0; i < channel.length; i++) { - channel[i] = ballConfig.getChannelPrefix() + channel[i]; + public void unsubscribe(@NotNull String... channels) { + for (int i = 0; i < channels.length; i++) { + channels[i] = ballConfig.getChannelPrefix() + channels[i]; } - BallRedisListener.INSTANCE.unsubscribe(channel); + unsubscribeRaw(channels); } /** * 忽略频道前缀配置,取消订阅 redis 消息频道 * - * @param channel 频道名称 + * @param channels 频道名称 */ - public void unsubscribeIgnorePrefix(@NotNull String... channel) { - BallRedisListener.INSTANCE.unsubscribe(channel); + public void unsubscribeRaw(@NotNull String... channels) { + BallRedisListener.INSTANCE.unsubscribe(channels); } /**