日期:2014-05-17  浏览次数:20589 次

动态读取properties文件
      目前需要实现一个修改Config.properties后,不需要重启tomcat服务也可以获取到修改后的配置文件信息,用下面的这个方法试了下,

     private InitConfig() throws IOException{
         InputStream ins = new      ClassPathResource("Config.properties").getInputStream();
         pro = new Properties();
         try {
              pro.load(ins);
         } catch (IOException e) {
         e.printStackTrace();
         }
      }

        发现InputStream ins = new ClassPathResource("Config.properties").getInputStream();这种方式无法获取到修改后的文件内容,请教下上面这种方式是无法监听文件是否变更,还是spring的ClassPathResource("Config.properties")中有缓存?
    那么是否还有其他动态获取的properties文件的方式呢。(在网上搜到个commons.configuration的解析方式,但是好像无法读取中文的配置信息
动态读取properties配置文件

------解决方案--------------------
这个应该是缓存的,就像spring获取bean一样,一开始就把所有bean都创建了
------解决方案--------------------
请先确认一下:InitConfig()函数是否被再次执行了吧?

试着手工执行下这个函数,然后看看是否读取到更新后的内容了?