redis客户端管理之读取xml配置,获取redis链接
来源:互联网 发布:批处理命令安装软件 编辑:程序博客网 时间:2024/06/05 19:13
获取redis客户端:
public class RedisClientManage { //配置文件 这里面有redis配置 private final static String resource = "redisconnection.xml"; /** * 获取默认Redis客户端 * * @return 默认Redis客户端 */ public static RedisClient getRedisClient() { return getRedisClient("share"); } /** * 根据名称获取Redis客户端 * * @param clientName 客户端名称 * @return Redis客户端 */ public static RedisClient getRedisClient(String clientName) { String server; Integer port; Integer dbIndex; String password; try (InputStream inputStream = new ClassLoaderWrapper().getResourceStream(resource)) { SAXReader reader = new SAXReader(); reader.setValidation(false); reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); Document doc = reader.read(inputStream); Element environments = (Element) doc.selectSingleNode("/configuration/environments"); List list = environments.selectNodes("environment[@id='" + clientName + "']"); if (list.size() != 1) { DataSourceException e = new DataSourceException(resource + "中未找到配置项:" + clientName); LOGGER.error("读取配置异常", e); throw e; } Element element = (Element) list.get(0); Element propertyElement = (Element) element.selectSingleNode(".//property[@name=\'server\']"); server = propertyElement == null ? "127.0.0.1" : propertyElement.attributeValue("value"); propertyElement = (Element) element.selectSingleNode(".//property[@name=\'port\']"); port = propertyElement == null ? 6379 : Integer.valueOf(propertyElement.attributeValue("value")); propertyElement = (Element) element.selectSingleNode(".//property[@name=\'dbIndex\']"); dbIndex = propertyElement == null ? 0 : Integer.valueOf(propertyElement.attributeValue("value")); propertyElement = (Element) element.selectSingleNode(".//property[@name=\'password\']"); password = propertyElement == null ? null : propertyElement.attributeValue("value"); } catch (DocumentException e) { LOGGER.error("读取" + resource + "抛出DocumentException", e); throw new DataSourceException(resource + "异常"); } catch (SAXException e) { LOGGER.error("读取" + resource + "抛出SAXException", e); throw new DataSourceException(resource + "异常"); } catch (IOException e) { LOGGER.error(resource + "文件流异常", e); throw new DataSourceException(resource + "异常"); } RedisClient redisClient = new RedisClient(server, port, dbIndex); if (password != null) { redisClient.setPassword(password); } return redisClient; }}
redisconnection.xml配置:
<?xml version="1.0" encoding="UTF-8"?><configuration> <environments> <environment id="share"> <dataSource> <property name="server" value="192.168.1.42"/> <property name="port" value="6380"/> <property name="dbIndex" value="0"/> <property name="password" value=""/> </dataSource> </environment> </environments></configuration>
调用获取redis客户端代码:
private static IObjectCache getRedis(String key) { RedisClient redisClient = RedisClientManage.getRedisClient(key); RedisCache redis = new RedisCache(); redis.setRedisClient(redisClient); return redis; }
注:部分类为自己封装,只做参考!此博客为自己留存,需要者可以自己取己所需。
阅读全文
0 0
- redis客户端管理之读取xml配置,获取redis链接
- Redis-客户端管理
- redis 配置远程链接
- Redis客户端之Jedis
- Redis之十三 客户端
- Redis之—— java客户端链接不上redis解决方案
- java 客户端链接不上redis解决方案
- java 客户端链接不上redis解决方案
- java 客户端链接不上redis解决方案
- java 客户端链接不上redis解决方案
- java 客户端链接不上redis解决方案
- redis之redis的安装,主从复制配置以及java客户端操作
- Redis之Jedis客户端使用
- redis源码分析之redis内存管理
- redis之redis-trib集群管理
- redis 之sentinel配置
- spring之redis配置
- Redis配置简析(二)之主从管理
- 模线性方程组
- WNetAddConnection2 error 1219
- 求二叉树的最大深度
- 关闭当前窗口的方法
- uva-536,从先序中序得出后序
- redis客户端管理之读取xml配置,获取redis链接
- 查看keystore签名信息
- 四大开源协议比较:BSD、Apache、GPL、LGPL
- Redis常用API-使用文档
- python正则如何判断一个字符串中是否只有某些字符
- 7款最流行的在线项目管理工具
- PCA的数学原理(非常值得阅读)!!!!
- Linux那些事(4)-Linux目录杂谈
- SAP系统与ABAP 学习笔记