apache下commons有一个configeration包,对于做配置很方便,尤其是实时热配置。可以自动监测到配置文件的更改而reload配置文件。在项目中使用所以进行了一下封装。
java 代码
- public class DefaultRealTimeXMLConfiger {
-
- private static Log logger = LogFactory.getLog(DefaultRealTimeXMLConfiger.class);
-
- private String fileName;
-
- private long reloadPeriod;
-
- private XMLConfiguration config;
-
- public void init()
- {
- String filePath = GlobalConfigerImpl.getConfDir()+"/"+fileName;
- logger.debug("will config with XML file["+filePath+"]");
-
- File file = new File(filePath);
- if (!file.exists() || !file.isFile()) {
- logger.error(" can't find file[" + filePath + "]");
- throw new IllegalArgumentException("config error! can't find file[" + filePath + "]");
- }
- this.init(file);
- }
-
- public void init(File file) {
- try {
- config = new XMLConfiguration(file);
- FileChangedReloadingStrategy fs = new FileChangedReloadingStrategy();
- fs.setConfiguration(config);
-
- if(this.reloadPeriod>0)
- {
- fs.setRefreshDelay(this.reloadPeriod);
- }
- config.setReloadingStrategy(fs);
-
- } catch (ConfigurationException e) {
- logger.error("error! configer error["+file.getPath()+"]");
- logger.error(e);
- e.printStackTrace();
- }
- }
-
- public Object getProperty(String name) {
- Object s = this.config.getProperty(name);
- return s;
- }
-
- public String getString(String name) {
- Object s = this.config.getProperty(name);
- String result = null;
- if (s != null)
- result = (String) s;
-
- return result;
- }
-
- public String[] getStringArray(String name) {
- String[] target = this.config.getStringArray(name);
-
- return target;
- }
-
-
-
-
-
- public String getFileName() {
- return fileName;
- }
-
-
-
-
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
-
-
-
-
- public long getReloadPeriod() {
- return reloadPeriod;
- }
-
-
-
-
- public void setReloadPeriod(long reloadPeriod) {
- this.reloadPeriod = reloadPeriod;
- }
- }
分享到:
相关推荐
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
无需使用log4j.xml文件进行配置 简化准备 Apache Log4j 日志上下文所需的 API 调用链 通过实现 Apache Log4j 2 API。 例子 具有 DEBUG 级别的控制台上的配置 ConfigurationBuilder . Builder builder = ...
有4个新的Configuration实现。数据存储区配置首先, 从数据中检索/存储配置值。 默认情况下,它使用数据存储类型“配置”,属性名称是键,属性值是“值”属性。 可以通过使用特定的构造函数来更改种类名称和值属性...
配置Apache mod_proxy和Jetty 配置Jetty中的AJP13 在JBoss中配置Jetty Remote Glassfish EJBs from Jetty Jetty and Spring EJB3 (Pitchfork) JBoss EJB3 ObjectWeb EasyBeans (aka JOnAS EJB3Container) 集群技术 ...
commons-configuration-gae.zip,配置的实现(由apache commons配置库提供),使用google app engine datastore api存储配置参数;配置的实现(由apache commons配置库提供),使用google app engine datastore api...
该项目展示了如何使用纯 Java 配置将 CXF Apache JAX-WS 实现与 Spring 集成的简单示例。 建造 mvn clean verify 配置 JavaConfiguration或XMLConfiguration可以与CXFServletConfiguration一起单独运行。 此配置...
hadoop 1.2 api 伪中文版。支持即时查询,高级查询。方便编码学习。 大数据炙手可热!hadoop是一个大数据分布式系统基础架构,由...虽然Hadoop框架是用JavaTM实现的,但Map/Reduce应用程序则不一定要用 Java来写 。
1,tomcat8的配置: 1.1修改tomcat8.x/conf/context.xml的配置如下: <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file ...
有一个名为SolrCoreContainerManager的声明性组件,它监视以下各项: ConfigurationAdmin服务中的solr.core或solr.core- 配置PID。 此配置定义了核心配置。 这些属性与CoreAdmin API中可以使用的属性非常相同。 ...
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <result> /result.jsp <result> /login.jsp <!--...
SSS-简单的SWORD服务器 作者:理查德·琼斯(Richard Jones) 介绍 简单剑服务器必须使用: 1 /它是供python服务器... 如果要在Apache下使用web.py部署SSS,则需要将配置对象从CherryPyConfiguration更改为ApacheCo
dom4j-1.6.1.jar dom4j是一个Java的XML API,类似于jdom, 用来读写XML文件的,这是必须使用的jar包,Hibernate用它来读写配置文件 commons-collections-3.2.jar Apache Commons包中的一个, 包含了一些Apache开发的...
大数据应用程序通常使用多种技术(例如,Apache Storm,Hadoop,Spark,Cassandra)开发,每种技术通常具有数十种可配置参数,应对其进行仔细调整以使其达到最佳性能。 BO4CO可帮助大数据系统的最终用户(例如数据...
service-configuration:此演示中的配置捆绑包,用于轻松进行服务配置。 service-shell-command:Karaf shell命令,用于简单的服务测试。 service-proxy:在服务API之上的cxf jaxrs服务代理。 服务功能:一个Karaf...
1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名...
约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性重用 1.5. 一个“项目”的概念模型 1.6. Maven是Ant的另一种选择么? 1.7. 比较Maven和Ant 1.8. 总结 2. ...
目前, 产品中不支持 ,因此我们使用实现进行了快速攻克。 现在我们可以在PyCharm / PhpStorm中拥有Tasks:在IDE中配置通用任务服务器转到Tools > Tasks & Contexts > Configure Servers然后添加新的Generic服务器...
002 配置虚拟机IP地址和如何使用远程工具SecureCRT 003 Linux 环境下基本命令使用及Linux系统中文件的类型和权限 004 Linux 环境下基本命令讲解二 005 Linux 系统远程FTP工具与桌面工具XManager使用和培养三大能力 ...
学习了自己通过 cookie 实现分布式session, 不使用spring boot默认提供的 知识点 数据库设计 明文密码两次md5处理 JSR303参数校验 + 全局异常处理器 分布式session, 通过cookie完成分布式session功能. 将cookie存放...
巨人在线报修系统是巨人软件公司自主研发的小型应用软件,可以实现报修单的管理,维修情况的登记,维修单的管理,客户评价的管理等.并且提供了丰富的报表功能,让你随时随地了解,工程师的工作效率,客户的满意度等.强大的...