在我们的应用中,会经常性的修改配置文件,但是往往web应用的配置文件是全局性的,如何让修改动态生效?这里提供一种方法。
log4j中我们可以配置log4j.xml动态生效。它是怎么做的?简单的说就是一个daemon线程不停的在检查文件修改时间。
DOMConfigurator.configureAndWatch(String fileName);
如果我们看一下这部分的源代码就会发现:log4j提供了一个抽象类FileWatchdog
这个类完成了线程的大部分工作。然后提供了一个抽象方法doOnChange()给子类来实现。
好了我们的工作其实就变的很简单了。写一个类继承FileWatchdog:
class MyConfigWatchdog extends FileWatchdog { MyConfigWatchdog(String filename) { super(filename); } /** * update your configuration object */ public void doOnChange() { //your custom logic } }
然后在我们的读配置文件的类里面启动ConfigWatchdog类。
MyConfigWatchdog watchDog = new MyConfigWatchdog(fileName); watchDog.setDelay(10000); // check configure files change 10 sec watchDog.start();
这样就可以快速的完成这个小功能。
相关推荐
CentOs7修改网卡配置文件不生效-亲测有效,可以通过nmcli命令进行修改,修改后重启虚拟机生效即完成,如果不生效说明虚拟机启动时获取IP地址的配置文件不是eth0,将其余网卡配置文件修改或删除即可。
给大家分享了Java动态修改配置即时生效的方式WatchService的相关知识点内容,有兴趣的朋友可以参考学习下。
本配置文件基于网上提供的其他配置文件进行修改。 支持: emacs 24 +cedet 1.1 +ecb 2.40 源配置文件下载地址: http://download.csdn.net/detail/karotte/3812760
mysql配置文件my.cnf,经常由于mysql升级后,默认没有此配置文件,上传以备份,根据个人需求,手动修改改文件,放置于/etc/my.cnf处,重启mysql生效
XenServer基本配置文件功能讲解与实践,详细介绍XenServer相关配置文件的使用与配置,避免走弯路!
凯立德配置文件diy修改器最新版是一款适用于凯立德夏季版和凯立德秋季班的一款凯立德配置文件修改工具,这是一款2014年最新凯立德KLD冬季版GPS端口及波特率、配置修改多合一工具,本站提供凯立德端口修改器2014下载...
最近需要在MySQL安装目录下的 my-default.ini 配置文件里面加上一个新的配置项: max_allowed_packet=100M 编辑文件后保存,总是无法保存,提示“拒绝访问”。 后来停止 MySQL 的服务,依然无法保存修改。 再后来...
修改了 my.cnf 配置文件后,却不生效,这是怎么回事? 二、原因: 我们注意到,这里只说了修改 my.cnf,并没有说清楚其绝对路径是哪个文件。也就是说,有可能修改的不是正确路径下的my.cnf文件。 在MySQL中,是允许...
linux 光盘yum源配置文件 只需修改 文件目录即可使用
修改redis.conf后,重启redis,发现修改的配置未生效,原来是需要在启动redis的时候在命令中加上配置文件,命令如下 ./redis-server /usr/local/redis-3.2.8/redis.conf & 仔细阅读配置文件可以开头看到有这样的...
刚刚接触redis,因为操作redis的时候不需要安全验证,所以想加上安全验证,在redis.windows.conf...以上这篇解决redis修改requirepass后不生效的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家
解决正常项目运行时修改静态文件报错问题,配置此文件 在项目运行时候,可以修改静态文件(js、html、css..)并立即生效
NULL 博文链接:https://ch-dj.iteye.com/blog/1825362
clang-format 格式化工具配置文件 安装clang后 修改文件名为“.clang-format”,并将文件复制到当前用户根目录下及可生效
我们见过有些人尝试修改配置文件但是不生效,因为他们修改的并不是服务器读取的文件。例如Debian下,/etc/mysql/my.cnf才是MySQL读取的配置文件,而不是/etc/my.cnf。 如果不知道当前使用的配置文件路径,可以尝试...
主要介绍了解决Cent0S 6.7直接在/etc/resolv.conf文件下修改DNS地址重启不生效问题 ,需要的朋友可以参考下
结果却发现,修改 String 资源后,“运行”,修改的内容没有生效。一开始以为只是 String 资源是这样,于是试了下 kt 文件,结果发现“运行”也不能生效。 但是先 clean 了,再“运行”,却可以正常编译出来。查了...
主要给大家介绍了关于Linux修改MySQL配置不生效问题的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
ubuntu环境下的samba跟windows共享的配置文件,新的开发环境下,直接替换,修改共享目录,之后保存,重启samba之后生效
jemter配置文档