|
@@ -9,28 +9,34 @@ import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
@Configuration
|
|
|
public class RedissonConfig {
|
|
|
|
|
|
- @Value("${spring.redis.host}")
|
|
|
- private String host;
|
|
|
-
|
|
|
- @Value("${spring.redis.password}")
|
|
|
+ @Value("${redisson.address}")
|
|
|
+ private String address;
|
|
|
+ @Value("${redisson.password}")
|
|
|
private String password;
|
|
|
|
|
|
- @Value("${spring.redis.port}")
|
|
|
- private String port;
|
|
|
-
|
|
|
- @Value("${spring.redis.database}")
|
|
|
+ @Value("${redisson.database}")
|
|
|
private int database;
|
|
|
|
|
|
@Bean
|
|
|
public RedissonClient redissonClient() {
|
|
|
Config config = new Config();
|
|
|
- if (StringUtils.isNotBlank(password)) {
|
|
|
- config.useSingleServer().setAddress("redis://" + host + ":" + port).setPassword(password).setDatabase(database);
|
|
|
+ List<String> hosts = Arrays.asList(address.split(";"));
|
|
|
+ if (hosts.size() == 1) {
|
|
|
+ config.useSingleServer().setAddress("redis://"+address).setDatabase(database);
|
|
|
+ if (StringUtils.isNotBlank(password)) {
|
|
|
+ config.useSingleServer().setAddress("redis://"+address).setPassword(password).setDatabase(database);
|
|
|
+ }
|
|
|
} else {
|
|
|
- config.useSingleServer().setAddress("redis://" + host + ":" + port).setDatabase(database);
|
|
|
+ if (StringUtils.isNotBlank(password)) {
|
|
|
+ config.useClusterServers().setPassword(password);
|
|
|
+ }
|
|
|
+ hosts.forEach(h -> config.useClusterServers().addNodeAddress("redis://"+h));
|
|
|
}
|
|
|
return Redisson.create(config);
|
|
|
}
|