12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package org.jeecg.boot.starter.lock.core.strategy.impl;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.jeecg.boot.starter.lock.core.strategy.RedissonConfigStrategy;
- import org.jeecg.boot.starter.lock.prop.RedissonProperties;
- import org.jeecg.boot.starter.lock.enums.GlobalConstant;
- import org.redisson.config.Config;
- /**
- * 集群方式Redisson配置
- * cluster方式至少6个节点(3主3从)
- * 配置方式:127.0.0.1:6379,127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384
- *
- * @author zyf
- * @date 2020-11-11
- */
- @Slf4j
- public class ClusterRedissonConfigStrategyImpl implements RedissonConfigStrategy {
- @Override
- public Config createRedissonConfig(RedissonProperties redissonProperties) {
- Config config = new Config();
- try {
- String address = redissonProperties.getAddress();
- String password = redissonProperties.getPassword();
- String[] addrTokens = address.split(",");
- // 设置集群(cluster)节点的服务IP和端口
- for (int i = 0; i < addrTokens.length; i++) {
- config.useClusterServers().addNodeAddress(GlobalConstant.REDIS_CONNECTION_PREFIX + addrTokens[i]);
- if (StringUtils.isNotBlank(password)) {
- config.useClusterServers().setPassword(password);
- }
- }
- log.info("初始化集群方式Config,连接地址:" + address);
- } catch (Exception e) {
- log.error("集群Redisson初始化错误", e);
- e.printStackTrace();
- }
- return config;
- }
- }
|