开发者社区 问答 正文

JavaWeb Tomcat 如何实现properties文件的实时加载?

期望结果:手动修改properties文件中的该参数值后,不需要重启Tomcat(或重新发布),该新参数值要求立即在程序中生效。
我的主要代码:

URL url=TestClass.class.getClassLoader().getResource("test.properties");
String path=URLDecoder.decode(url.getPath(),"UTF-8");
Properties props=new Properties();
props.load(new FileInputStream(path));
 
String xxx=props.getProperty("yyy");

以上,当修改了yyy对应的参数值后,取得的xxx值仍然为修改前的值,而当重启Tomcat后,就可以取到修改后的值了!
补充说明:只是修改了properties文件,别的都没修改而重启Tomcat(或重新部署整个项目),感觉这样不值当!
在网上找到一个解决方法:将文件中的数据先读入内存,然后用户修改后再去修改内存中的数据和配置文件中的数据,然后读数据时只需要从内存中读取,但不知道此方法是怎样实现的!
所以,想求知:实时加载properties要如何实现(JavaWeb项目中,重启Tomcat和重新发布项目的方法除外)?

展开
收起
落地花开啦 2016-06-01 11:47:25 4163 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    过修改tomcat配置文件来让服务器自动加载,
    修改tomcat服务器文件 tomcat安装目录--conf--server.xml,在tomcat的<host></host>标签里添加下面这行代码:
    1

    2019-07-17 19:23:02
    赞同 展开评论