|
@@ -2,15 +2,11 @@ package org.ssssssss.magicapi.cluster;
|
|
|
|
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
-import org.springframework.beans.factory.ObjectProvider;
|
|
|
|
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
|
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
|
-import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
|
import org.springframework.data.redis.listener.ChannelTopic;
|
|
import org.springframework.data.redis.listener.ChannelTopic;
|
|
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
|
|
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
|
|
import org.ssssssss.magicapi.core.config.MagicAPIProperties;
|
|
import org.ssssssss.magicapi.core.config.MagicAPIProperties;
|
|
@@ -19,9 +15,10 @@ import org.ssssssss.magicapi.core.model.MagicNotify;
|
|
import org.ssssssss.magicapi.core.model.Plugin;
|
|
import org.ssssssss.magicapi.core.model.Plugin;
|
|
import org.ssssssss.magicapi.core.service.MagicAPIService;
|
|
import org.ssssssss.magicapi.core.service.MagicAPIService;
|
|
import org.ssssssss.magicapi.core.service.MagicNotifyService;
|
|
import org.ssssssss.magicapi.core.service.MagicNotifyService;
|
|
|
|
+import org.ssssssss.magicapi.redis.RedisModule;
|
|
import org.ssssssss.magicapi.utils.JsonUtils;
|
|
import org.ssssssss.magicapi.utils.JsonUtils;
|
|
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
|
|
|
|
|
|
|
@EnableConfigurationProperties(ClusterConfig.class)
|
|
@EnableConfigurationProperties(ClusterConfig.class)
|
|
@@ -32,14 +29,11 @@ public class MagicClusterConfiguration implements MagicPluginConfiguration {
|
|
|
|
|
|
private final MagicAPIProperties properties;
|
|
private final MagicAPIProperties properties;
|
|
|
|
|
|
- private final StringRedisTemplate stringRedisTemplate;
|
|
|
|
-
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(MagicClusterConfiguration.class);
|
|
private final Logger logger = LoggerFactory.getLogger(MagicClusterConfiguration.class);
|
|
|
|
|
|
- public MagicClusterConfiguration(MagicAPIProperties properties, ClusterConfig config, ObjectProvider<StringRedisTemplate> stringRedisTemplateProvider) {
|
|
|
|
|
|
+ public MagicClusterConfiguration(MagicAPIProperties properties, ClusterConfig config) {
|
|
this.properties = properties;
|
|
this.properties = properties;
|
|
this.config = config;
|
|
this.config = config;
|
|
- this.stringRedisTemplate = stringRedisTemplateProvider.getIfAvailable();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -52,8 +46,8 @@ public class MagicClusterConfiguration implements MagicPluginConfiguration {
|
|
*/
|
|
*/
|
|
@Bean
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
@ConditionalOnMissingBean
|
|
- public MagicNotifyService magicNotifyService() {
|
|
|
|
- return magicNotify -> stringRedisTemplate.convertAndSend(config.getChannel(), Objects.requireNonNull(JsonUtils.toJsonString(magicNotify)));
|
|
|
|
|
|
+ public MagicNotifyService magicNotifyService(RedisModule redisModule) {
|
|
|
|
+ return magicNotify -> redisModule.execute("publish", Arrays.asList(config.getChannel(), JsonUtils.toJsonString(magicNotify)));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|