enum Singleton {
INSTANCE;
private JedisCluster singleton;
private Singleton() {
Properties prop = new Properties();
InputStream inputStream = UpicSoaPtiesUtil.class.getClassLoader()
.getResourceAsStream("redispoolinfo.properties");
try {
prop.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
curr_logger
.info("/externalsource/java/src/com/taikang/redis/RedisManager.java Singleton "
+ e);
e.printStackTrace();
}
}
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(Integer.valueOf((String) prop
.get("pool.confi.maxTotal")));
config.setMaxIdle(Integer.valueOf((String) prop
.get("pool.confi.maxIdle")));
config.setNumTestsPerEvictionRun(Integer.valueOf((String) prop
.get("pool.confi.numTestsPerEvictionRun")));
config.setTimeBetweenEvictionRunsMillis(Integer
.valueOf((String) prop
.get("pool.confi.timeBetweenEvictionRunsMillis")));
config.setMinEvictableIdleTimeMillis(Integer.valueOf((String) prop
.get("pool.confi.minEvictableIdleTimeMillis")));
config.setSoftMinEvictableIdleTimeMillis(Integer
.valueOf((String) prop
.get("pool.confi.softMinEvictableIdleTimeMillis")));
config.setMaxWaitMillis(Integer.valueOf((String) prop
.get("pool.confi.maxWaitMillis")));
config.setTestOnBorrow(Boolean.valueOf((String) prop
.get("pool.confi.testOnBorrow")));
config.setTestWhileIdle(Boolean.valueOf((String) prop
.get("pool.confi.testWhileIdle")));
config.setBlockWhenExhausted(Boolean.valueOf((String) prop
.get("pool.confi.blockWhenExhausted")));
Set<HostAndPort> set = new HashSet<HostAndPort>();
set.add(new HostAndPort((String) prop.get("pool.confi.node1.ip"),
Integer.valueOf((String) prop.get("pool.confi.node1.port"))));
set.add(new HostAndPort((String) prop.get("pool.confi.node2.ip"),
Integer.valueOf((String) prop.get("pool.confi.node2.port"))));
set.add(new HostAndPort((String) prop.get("pool.confi.node3.ip"),
Integer.valueOf((String) prop.get("pool.confi.node3.port"))));
singleton = new JedisCluster(set, config);
}
public JedisCluster getInstance() {
return singleton;
}
}