Commit 9d3ca743740c1daa5cb269116dd5c5cfd0d239d3

Authored by 欧保权
1 parent fa7b66f6

lts==增加redis密码配置,前缀.configs.redis.password=

... ... @@ -141,5 +141,11 @@
141 141 <artifactId>logback-classic</artifactId>
142 142 <scope>provided</scope>
143 143 </dependency>
  144 + <dependency>
  145 + <groupId>org.projectlombok</groupId>
  146 + <artifactId>lombok</artifactId>
  147 + <version>RELEASE</version>
  148 + <scope>provided</scope>
  149 + </dependency>
144 150 </dependencies>
145 151 </project>
... ...
... ... @@ -75,6 +75,10 @@ public interface ExtConfig {
75 75 String REGISTRY_RETRY_PERIOD_KEY = "retry.period";
76 76 String REDIS_SESSION_TIMEOUT = "redis.session.timeout";
77 77 /**
  78 + * Redis 注册中心密码(开启 requirepass 时使用,多个 redis 节点共用同一密码)
  79 + */
  80 + String REDIS_PASSWORD = "redis.password";
  81 + /**
78 82 * JDBC链接相关配置
79 83 */
80 84 String JDBC_URL = "jdbc.url";
... ...
... ... @@ -16,6 +16,8 @@ import com.github.ltsopensource.core.registry.NodeRegistryUtils;
16 16 import com.github.ltsopensource.core.registry.NotifyEvent;
17 17 import com.github.ltsopensource.core.registry.NotifyListener;
18 18 import com.github.ltsopensource.core.support.SystemClock;
  19 +
  20 +import lombok.extern.slf4j.Slf4j;
19 21 import redis.clients.jedis.Jedis;
20 22 import redis.clients.jedis.JedisPool;
21 23 import redis.clients.jedis.JedisPoolConfig;
... ... @@ -27,6 +29,7 @@ import java.util.concurrent.*;
27 29 /**
28 30 * @author Robert HG (254963746@qq.com) on 5/17/15.
29 31 */
  32 +@Slf4j
30 33 public class RedisRegistry extends FailbackRegistry {
31 34
32 35 private static final Logger LOGGER = LoggerFactory.getLogger(RedisRegistry.class);
... ... @@ -61,13 +64,24 @@ public class RedisRegistry extends FailbackRegistry {
61 64
62 65 this.reconnectPeriod = config.getParameter(ExtConfig.REGISTRY_RECONNECT_PERIOD_KEY, Constants.DEFAULT_REGISTRY_RECONNECT_PERIOD);
63 66
  67 + String password = config.getParameter(ExtConfig.REDIS_PASSWORD);
  68 + log.info("==============redis=====[{}]", password);
  69 + boolean hasPassword = password != null && password.length() > 0;
  70 +
64 71 String[] addrs = address.split(",");
65 72 for (String addr : addrs) {
66 73 int i = addr.indexOf(':');
67 74 String host = addr.substring(0, i);
68 75 int port = Integer.parseInt(addr.substring(i + 1));
69   - this.jedisPools.put(addr, new JedisPool(redisConfig, host, port,
70   - Constants.DEFAULT_TIMEOUT));
  76 + JedisPool pool;
  77 + if (hasPassword) {
  78 + pool = new JedisPool(redisConfig, host, port,
  79 + Constants.DEFAULT_TIMEOUT, password);
  80 + } else {
  81 + pool = new JedisPool(redisConfig, host, port,
  82 + Constants.DEFAULT_TIMEOUT);
  83 + }
  84 + this.jedisPools.put(addr, pool);
71 85 }
72 86
73 87 this.expirePeriod = config.getParameter(ExtConfig.REDIS_SESSION_TIMEOUT, Constants.DEFAULT_SESSION_TIMEOUT);
... ...