`

设置properties的加载策略

    博客分类:
  • Java
阅读更多

动态加载:

1.需要configuration包:

    <!-- https://mvnrepository.com/artifact/commons-configuration/commons-configuration -->  
            <dependency>  
                <groupId>commons-configuration</groupId>  
                <artifactId>commons-configuration</artifactId>  
                <version>1.10</version>  
            </dependency>  

 2.示例:

    package cn.raysun.demo.shiro.other;  
      
    import java.io.File;  
      
    import org.apache.commons.configuration.ConfigurationException;  
    import org.apache.commons.configuration.PropertiesConfiguration;  
    import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;  
      
    /** 
     * {@code FileChangedReloadingStrategy}的测试类 
     * @author ray.sun 
     *  
     */  
    public class FileChangedReloadingStrategyTest {  
          
        //加载文件的频率  
        private static final long RELOAD_PERIOD = 10L;  
        private static PropertiesConfiguration config;  
          
        public static void main(String[] args) {  
              
            //获得当前类运行的classpath路径  
            String currentClassPath = ClassLoader.getSystemResource("").getPath();  
            initialize(currentClassPath + "reloadstrategy-test.properties");  
              
            while(true){  
                try {  
                    System.out.println("user=" + config.getString("user.loginName"));  
                    Thread.sleep(5000);  
                } catch (InterruptedException e) {  
                    e.printStackTrace();  
                }  
            }  
        }  
          
        //初始化配置文件和文件加载策略  
        private static void initialize(String filePath){  
            try {             
                FileChangedReloadingStrategy fileChangedReloadingStrategy = new FileChangedReloadingStrategy();  
                //设置扫描文件的最小时间间隔  
                fileChangedReloadingStrategy.setRefreshDelay(RELOAD_PERIOD);  
                  
                //设置加载策略  
                config = new PropertiesConfiguration(new File(filePath));  
                config.setReloadingStrategy(fileChangedReloadingStrategy);  
                  
            } catch (ConfigurationException e) {  
                e.printStackTrace();  
            }         
        }  
          
    }  

 

分享到:
评论

相关推荐

    动态加载properties

    - 如果配置文件过大,频繁加载可能会对性能造成影响,考虑使用缓存和合理的加载策略。 - 捕获并处理可能出现的异常,如文件不存在、读取失败等。 综上所述,动态加载`properties`文件是Java开发中的一个重要实践...

    jquery-i18n-properties-master.zip

    同时,对于大型应用,可以采用分块加载策略,只加载当前页面需要的资源。 总的来说,jQuery i18n Properties 提供了一个简洁而强大的解决方案,让JavaScript开发者能够专注于应用的核心逻辑,而不是复杂的本地化...

    listview加载多幅图片

    在本文中,我们将深入探讨如何在ListView中加载多幅图片,并且讨论图片的存储策略,以及如何利用ImageList组件进行有效的管理。 首先,ListView控件本身并不直接支持加载图像。为了在ListView中显示图片,我们需要...

    properties文件国际化插件

    3. 使用插件可能需要配置项目的国际化设置,比如指定`properties`文件的位置和语言策略。 插件提供的功能可能包括: 1. 自动化同步:当修改了一个语言的`properties`文件后,插件可以自动更新其他语言版本的文件,...

    log4j需要的jar以及properties文件

    正确配置`log4j.properties`文件,可以帮助我们更好地管理日志,例如根据需要调整日志级别以控制输出量,设置日志滚动策略避免磁盘空间被填满,或者通过过滤特定类的日志来关注关键信息。 在实际开发中,将`log4j....

    jQuery.i18n.properties

    - **自定义加载策略**:插件支持异步加载资源,可以优化用户体验,避免阻塞页面渲染。 - **错误处理**:处理资源文件加载失败的情况,提供备用机制或错误提示。 - **多级嵌套**:对于复杂的项目,可以使用分层结构来...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    在Java编程中,Properties文件是用于存储配置信息的关键组件,如数据库连接字符串、应用程序设置等。在处理Properties文件时,可能会遇到几个常见的问题,包括找不到指定路径、读取正常但文件数据未更新的情况。以下...

    jquery-i18n-properties

    - **自定义加载策略**:如果需要自定义加载逻辑,可以覆盖默认的`$.i18n.properties`方法。 - **异步加载**:对于大型应用,可能需要异步加载语言资源,以避免阻塞页面渲染。 - **合并多个属性文件**:如果有很多小...

    jk2.properties+workers2.properties

    `jk2.properties`包含了连接到Tomcat实例的参数,如Tomcat服务器的IP地址、端口号、工作线程数量、错误处理策略等。例如,你可能会看到类似以下的配置项: ``` worker.list=worker1 worker.worker1.type=ajp13 ...

    spring中properties加密

    在Spring框架中,为了保护应用程序中的敏感信息,如数据库连接字符串、...这个过程涉及到Java加密技术、Spring的配置加载机制以及安全存储和管理密钥的策略。确保在每个环节都遵循最佳实践,以提供最安全的解决方案。

    Spring Boot 全局懒加载机制.docx

    Spring Boot 2.2引入了一个新的配置项`spring.main.lazy-initialization`,将其设置为`true`即可开启全局懒加载。在`application.properties`或`application.yml`中添加如下配置: ```properties # application....

    jquery.i18n.properties-min-1.0.9

    此外,根据用户浏览器的语言设置,预加载相应的语言文件,也可以提升用户体验。 8. **扩展与兼容性** 虽然插件名为“i18n.properties”,但它不仅限于处理`.properties`文件,开发者可以通过自定义加载器扩展其...

    DevExpress GridControl控件加入图片列动态加载图片

    可以使用懒加载策略,只在单元格进入可视区域时加载图片。此外,可以考虑使用较小的图片尺寸或使用SVG等矢量图格式来减少资源大小。 6. **处理错误情况**:在加载图片时可能会遇到各种问题,如网络故障、资源不存在...

    tomcat 类加载机制 —— ClassLoader

    在Tomcat中,我们可以通过配置`catalina.properties`文件和`server.xml`文件来调整类加载策略,例如设置自定义的类加载顺序或启用共享类加载器。 此外,Tomcat还支持热部署,即在不重启服务器的情况下更新Web应用的...

    jquery-i18n-properties-1.0.9

    1. 动态加载:根据用户的浏览器设置或用户选择的语言,插件可以动态加载对应的properties文件,无需预先加载所有语言资源。 2. 键值解析:插件可以解析properties文件中的键值对,将对应的本地化文本插入到HTML元素...

    6 用Properties补充hibernate.cfg.xml配置

    本文将探讨如何使用`Properties`类来补充`hibernate.cfg.xml`的配置,以实现更加灵活和模块化的设置。 首先,`hibernate.cfg.xml`文件通常包含了以下关键元素: 1. **数据库连接信息**:如数据库URL、用户名、密码...

    jquery.i18n.properties在asp.net里的应用

    此外,使用 HTTP 缓存策略能有效减少重复加载。 6. **处理日期和数字格式**:虽然 jQuery.i18n.properties 主要处理文本资源,但与之配合的库如 Globalize.js 可以帮助处理日期、数字等本地化格式。 7. **注意事项...

    策略模式的实现,通过反射

    我们可以在配置文件(如XML或properties)中指定策略类的全限定名,然后在运行时通过反射加载并实例化策略类。 例如,配置文件`config.properties`内容如下: ``` strategy.default=com.example.StrategyA ``` ...

    esapi配置文件

    1. **ESAPI.properties**:这是ESAPI的核心配置文件,它定义了ESAPI的各种默认设置和行为。例如,它会指定默认的加密算法、验证规则、日志配置等。通过修改此文件,开发者可以根据自己的项目需求定制安全策略。配置...

    java读取properties文件

    在Java编程中,读取`properties`文件是常见的任务,这些文件通常用于存储配置信息,如数据库连接字符串、系统设置等。本篇文章将详细介绍如何在Java中不依赖第三方库来读取`.properties`文件。 首先,`properties`...

Global site tag (gtag.js) - Google Analytics