`

修改配置文件动态生效

阅读更多

 在我们的应用中,会经常性的修改配置文件,但是往往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修改网卡配置文件不生效-亲测有效

    在 CentOS 7 中,网络配置的变化主要是因为 Network Manager 的引入,它会动态管理网络接口,而不仅仅是依赖于传统的配置文件。因此,当修改配置文件无效时,使用 `nmcli` 这样的命令行工具进行交互式配置是更有效的...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...

    Java动态修改配置即时生效的方式WatchService

    这种机制在需要实时响应配置文件变化的场景中特别有用,尤其是在不需重启服务的情况下动态更新配置。在Java 7及更高版本中,`java.nio.file.WatchService`接口提供了这一功能,它利用了操作系统的文件监控器来实现...

    Windows平台,Nginx配置文件修改自动加载重启

    当Nginx的配置文件被修改后,通常需要手动执行`nginx -s reload`命令来使改动生效,这在频繁调整配置时可能会显得繁琐。本教程将介绍一种方法,使得在Windows环境下,Nginx配置文件修改后能够自动加载并重启,以实现...

    C#获取和修改配置文件信息

    本文将深入探讨如何在C#中获取和修改配置文件信息,特别是appSettings部分,这是.NET应用程序最常用的配置存储区域。 配置文件通常以XML格式存在,其基本结构包括`<configuration>`、`<appSettings>`等节点。`...

    C# winform 修改配置文件 源码

    - 如果修改的是应用程序配置文件,用户可能需要重新启动应用程序以看到更改。 - 对于用户配置文件,更改会立即生效,因为它们是为当前用户创建的。 通过以上讨论,我们可以看到,使用C# WinForm修改配置文件涉及...

    KLD 配置文件修改器

    部分修改可能需要重新启动系统以使更改生效。 三、KLD配置文件的重要性 KLD配置文件是驱动程序的核心组成部分,它定义了驱动如何与硬件设备交互、系统资源如何分配等关键信息。正确配置KLD文件能优化系统的性能,...

    修改配置文件

    - 打包软件时,配置文件通常会被包含在安装包中,此时修改的配置文件将在安装目录下生效。用户安装后,修改的配置文件会反映在运行的应用程序中。 5. **处理不可见的配置文件**: - 如果在调试过程中无法看到配置...

    linux emacs 配置文件

    本配置文件基于网上提供的其他配置文件进行修改。 支持: emacs 24 +cedet 1.1 +ecb 2.40 源配置文件下载地址: http://download.csdn.net/detail/karotte/3812760

    sourceinsight4 风格配置文件

    通过修改配置文件,用户可以调整编辑器的主题颜色,使得代码更加清晰易读,也可以自定义快捷键、语法高亮等,提升编程效率。 **2. GLOBAL.CF3 和 dark.cf3** 在提供的压缩包中,包含了两个配置文件:GLOBAL.CF3 和...

    凯立德2014配置文件diy修改器最新版

    凯立德配置文件diy修改器最新版是一款适用于凯立德夏季版和凯立德秋季班的一款凯立德配置文件修改工具,这是一款2014年最新凯立德KLD冬季版GPS端口及波特率、配置修改多合一工具,本站提供凯立德端口修改器2014下载...

    jrebel 不用重启,直接改直接用 ,可改java类和配置文件

    标题中的“jrebel”是一款著名的Java开发工具,它允许开发者在不重启应用服务器的情况下,实时看到代码和配置文件的更改效果。这对于提高开发效率、加快迭代速度具有显著作用。这款工具尤其适合于大型项目或者频繁...

    修改配置文件 重启服务

    在C++开发的项目中,配置文件可能是文本文件(如ini、xml或json格式),开发者可以读取这些文件来动态改变程序的运行状态。例如,数据库连接字符串、服务器端口、日志级别等都可能存储在配置文件中。 **修改配置...

    windows 7中修改用户配置文件的路径

    4. 注销并重新登录系统,新的用户配置文件路径将生效。 5. 删除之前路径下的配置文件文件夹。 注意事项 在修改用户配置文件路径之前,请务必备份注册表相关键值,以免出现问题。此外,如果移动已经生成的配置文件,...

    Linux修改ip配置文件.doc

    在修改配置文件后,需要重启网络服务,以便让修改生效。可以使用 `service network restart` 命令来重启网络服务。 第四步:查看 IP 在重启网络服务后,可以使用 `ip addr` 命令来查看当前的 IP 地址。 修改 ...

    完美解决linux上启动redis后配置文件未生效的问题

    修改redis.conf后,重启redis,发现修改的配置未生效,原来是需要在启动redis的时候在命令中加上配置文件,命令如下 ./redis-server /usr/local/redis-3.2.8/redis.conf & 仔细阅读配置文件可以开头看到有这样的...

    Docker容器修改配置文件的实现

    5. 配置文件修改后的操作:在修改完配置文件后,通常需要根据配置文件的性质,重启服务或者整个容器来使更改生效。在Docker中,这可以通过执行docker restart命令来完成。 以上这些知识点详细说明了如何通过Docker...

    c#操作properties,读写配置文件

    这些配置信息通常存储在配置文件中,便于程序运行时动态加载和修改。C#提供了一种简单有效的方法来操作配置文件中的属性(Properties),即通过`System.Configuration`命名空间下的`ConfigurationManager`类以及`...

    华硕FX505GT型号色彩配置文件

    【标题】"华硕FX505GT型号色彩配置文件"是针对华硕FX505GT笔记本电脑的一款特定设置文件,主要用于调整和优化显示效果。这款笔记本属于华硕的ROG (Republic of Gamers) 系列,设计初衷是为了提供出色的游戏体验。在...

    C#配置文件读写源代码

    .NET应用程序的配置文件通常分为两部分:App.config用于存储全局设置,而User.config则保存用户的个性化设置,这些设置可以在程序运行时动态修改。App.config文件基于XML结构,包含`<configuration>`、`...

Global site tag (gtag.js) - Google Analytics