feat: 适配仓鼠球更新 jedis 版本

This commit is contained in:
2024-03-13 17:48:57 +08:00
parent 98fd32f1ed
commit a36406c3db
2 changed files with 11 additions and 5 deletions

View File

@@ -16,12 +16,12 @@ import cn.hamster3.mc.plugin.ball.common.listener.BallRedisListener;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; import cn.hamster3.mc.plugin.core.common.data.DisplayMessage;
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.Component; import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.Component;
import cn.hamster3.mc.plugin.core.lib.redis.clients.jedis.Jedis;
import com.google.common.eventbus.AsyncEventBus; import com.google.common.eventbus.AsyncEventBus;
import com.google.common.eventbus.EventBus; import com.google.common.eventbus.EventBus;
import lombok.Getter; import lombok.Getter;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import redis.clients.jedis.Jedis;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.*; import java.sql.*;
@@ -490,7 +490,9 @@ public abstract class BallAPI {
for (int i = 0; i < channel.length; i++) { for (int i = 0; i < channel.length; i++) {
channel[i] = ballConfig.getChannelPrefix() + channel[i]; channel[i] = ballConfig.getChannelPrefix() + channel[i];
} }
redisSub.subscribe(BallRedisListener.INSTANCE, channel); CoreAPI.getInstance().getExecutorService().submit(
() -> redisSub.subscribe(BallRedisListener.INSTANCE, channel)
);
} }
/** /**
@@ -499,7 +501,9 @@ public abstract class BallAPI {
* @param channel 频道名称 * @param channel 频道名称
*/ */
public void subscribeIgnorePrefix(@NotNull String... channel) { public void subscribeIgnorePrefix(@NotNull String... channel) {
redisSub.subscribe(BallRedisListener.INSTANCE, channel); CoreAPI.getInstance().getExecutorService().submit(
() -> redisSub.subscribe(BallRedisListener.INSTANCE, channel)
);
} }
/** /**
@@ -508,7 +512,9 @@ public abstract class BallAPI {
* @param patterns 频道名称正则表达式 * @param patterns 频道名称正则表达式
*/ */
public void subscribePatterns(@NotNull String patterns) { public void subscribePatterns(@NotNull String patterns) {
redisSub.psubscribe(BallRedisListener.INSTANCE, patterns); CoreAPI.getInstance().getExecutorService().submit(
() -> redisSub.psubscribe(BallRedisListener.INSTANCE, patterns)
);
} }
// /** // /**

View File

@@ -4,8 +4,8 @@ import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.mc.plugin.ball.common.data.BallMessage; import cn.hamster3.mc.plugin.ball.common.data.BallMessage;
import cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent; import cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.lib.redis.clients.jedis.JedisPubSub;
import com.google.common.eventbus.EventBus; import com.google.common.eventbus.EventBus;
import redis.clients.jedis.JedisPubSub;
public class BallRedisListener extends JedisPubSub { public class BallRedisListener extends JedisPubSub {
public static final BallRedisListener INSTANCE = new BallRedisListener(); public static final BallRedisListener INSTANCE = new BallRedisListener();