1. 需求说明
需求:
实现实时更新数据
在一些系统中,可能有更改数据的需求.例如,在系统中我们使用了百度统计账号进行定期发送统计数据邮件.依照百度接口的需要,我们需要在功能模块里添加百度统计账号和密码等信息.假如某一天密码泄露,我们因此修改了百度统计账号的密码,而又不想影响线上系统的运行,此时就需要我们手动更新服务器上项目中密码信息.基于不能停止项目运行的需要,就可以采用property文件进行”热插拔”.
2. 实践
在系统中建立xxxx.properties文件,里面存放键值对,每次从文件取值时都从文件中读取一次.简要代码如下:
Properties properties = new Properties();
InputStream in = TestProperties_baidutongji.class.getClassLoader().getResourceAsStream("com/volcanno/config/baidutongji.properties");
properties.load(in);
System.out.println(properties.getProperty("USERNAME"));
从网上看到一些伙伴说这种无法实现实时更新.经过实验,在我的机器上却实现了实时更新.
第二种方法: