期望结果:手动修改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和重新发布项目的方法除外)?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
过修改tomcat配置文件来让服务器自动加载,
修改tomcat服务器文件 tomcat安装目录--conf--server.xml,在tomcat的<host></host>
标签里添加下面这行代码: