summaryrefslogtreecommitdiff
path: root/src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java
diff options
context:
space:
mode:
authorcaohui <[email protected]>2020-04-29 14:32:05 +0800
committercaohui <[email protected]>2020-04-29 14:32:05 +0800
commitd15d7536f385ec4a1250ed15ed52fd6c05eb7431 (patch)
tree737ec8462ef62ac70caeee1533cbee4e76ceef98 /src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java
VoIP Knowledge Base sip-voip-completion Initial commit 202004291431HEADmaster
Diffstat (limited to 'src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java')
-rw-r--r--src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java b/src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java
new file mode 100644
index 0000000..23407dd
--- /dev/null
+++ b/src/main/java/cn/ac/iie/utils/redis/RedisPollUtils.java
@@ -0,0 +1,61 @@
+package cn.ac.iie.utils.redis;
+
+import org.apache.log4j.Logger;
+import redis.clients.jedis.HostAndPort;
+import redis.clients.jedis.JedisCluster;
+import redis.clients.jedis.JedisPoolConfig;
+
+import java.io.IOException;
+import java.util.LinkedHashSet;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * Redis连接池
+ *
+ * @author my
+ * @date 2018-07-04
+ */
+public final class RedisPollUtils {
+ private static final Logger logger = Logger.getLogger(RedisPollUtils.class);
+ private static JedisCluster jedisCluster;
+ private static Properties props = new Properties();
+
+ /**
+ * 不允许通过new创建该类的实例
+ */
+ private RedisPollUtils() {
+ }
+
+ /**
+ * 初始化Redis连接池
+ */
+ public static JedisCluster getJedisCluster() {
+ try {
+ String redisConfigFile = "redis_aaa_config.properties";
+ props.load(RedisPollUtils.class.getClassLoader().getResourceAsStream(redisConfigFile));
+ } catch (IOException e) {
+ logger.error("Properties Initialization Failed!!!!");
+ e.printStackTrace();
+ }
+ JedisPoolConfig poolConfig = new JedisPoolConfig();
+ poolConfig.setMaxTotal(Integer.valueOf(props.getProperty("jedis.pool.maxActive")));
+ poolConfig.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle")));
+ poolConfig.setMaxWaitMillis(Long.valueOf(props.getProperty("jedis.pool.maxWait")));
+ poolConfig.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn")));
+ poolConfig.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow")));
+ Set<HostAndPort> nodes = new LinkedHashSet<HostAndPort>();
+ for (String port : props.getProperty("redis.port").split(",")) {
+ nodes.add(new HostAndPort(props.getProperty("redis.ip1"), Integer.parseInt(port)));
+ nodes.add(new HostAndPort(props.getProperty("redis.ip2"), Integer.parseInt(port)));
+ nodes.add(new HostAndPort(props.getProperty("redis.ip3"), Integer.parseInt(port)));
+ nodes.add(new HostAndPort(props.getProperty("redis.ip4"), Integer.parseInt(port)));
+ nodes.add(new HostAndPort(props.getProperty("redis.ip5"), Integer.parseInt(port)));
+ }
+ if (jedisCluster == null) {
+ jedisCluster = new JedisCluster(nodes, poolConfig);
+ }
+ return jedisCluster;
+ }
+
+}