社区
Java SE
帖子详情
用setProperty()修改配置文件后,如何立刻刷新缓存中的配置文件信息?
gideal_wang
2009-05-22 04:32:47
第一次用getProperty()读取配置文件后,配置文件会被缓存到内存中,当我用setProperty()修改配置文件后,再去取值,系统会去缓存中读取,取回来的还是没修改前的信息,所以请教:
(1)配置文件是通过什么方式缓存到内存中的,静态变量?
(2)如何实现修改配置文件后,立刻在内存中重新加载配置文件?或者去掉缓存中的信息
...全文
454
14
打赏
收藏
用setProperty()修改配置文件后,如何立刻刷新缓存中的配置文件信息?
第一次用getProperty()读取配置文件后,配置文件会被缓存到内存中,当我用setProperty()修改配置文件后,再去取值,系统会去缓存中读取,取回来的还是没修改前的信息,所以请教: (1)配置文件是通过什么方式缓存到内存中的,静态变量? (2)如何实现修改配置文件后,立刻在内存中重新加载配置文件?或者去掉缓存中的信息
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ty_tarena_pger
2009-05-28
打赏
举报
回复
如果在MyEcplise可以看到你那个配置文件,说明它是正打开的(你不刷新显示的还是以前的数据)
ty_tarena_pger
2009-05-28
打赏
举报
回复
如何实现修改配置文件后,立刻在内存中重新加载配置文件?
1>刷新下项目-主要要刷新下项目下的配置文件(如果在MyEcplise下看不到你的那个配置文件就没必要刷新了)
2>load
gideal_wang
2009-05-27
打赏
举报
回复
[Quote=引用 11 楼 yin_slin 的回复:]
其实就是一个单例模式的应用
[/Quote]
能否给出具体示例?
gideal_wang
2009-05-26
打赏
举报
回复
[Quote=引用 8 楼 Johnson_Hong 的回复:]
写一个类,用一个静态变量保存property对象,她只在第一次访问时读取文件,之后都是直接访问,读取、写都是对这个属性操作
[/Quote]
能说的具体点吗?如何用静态变量保存property对象?以后都是直接对该静态变量进行读写操作?
密码测试
2009-05-26
打赏
举报
回复
其实就是一个单例模式的应用
gideal_wang
2009-05-26
打赏
举报
回复
高手帮忙啊,谢谢
Johnson_Hong
2009-05-22
打赏
举报
回复
写一个类,用一个静态变量保存property对象,她只在第一次访问时读取文件,之后都是直接访问,读取、写都是对这个属性操作
gideal_wang
2009-05-22
打赏
举报
回复
第一个是读取配置文件信息的,第二个是修改配置文件的,问题出在修改完后没有被缓存重新加载
kokobox
2009-05-22
打赏
举报
回复
看一下这个文章:
http://www.javaeye.com/problems/9776
gideal_wang
2009-05-22
打赏
举报
回复
public void setPath(String filename, String propertyName, String value) throws IOException {
InputStream inputStream = null;
FileOutputStream outputStream = null;
Properties p = new Properties();
try {
inputStream = this.getClass().getClassLoader().getResourceAsStream(filename);
outputStream = new FileOutputStream(this.getClass().getClassLoader().getResource("/").getPath() + filename);
p.load(inputStream);
p.setProperty(propertyName, value).toString();
p.store(outputStream, "Description");
String reload = new Common().getPath(filename, propertyName);
} catch (FileNotFoundException e2) {
e2.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
inputStream.close();
outputStream.close();
}
}
gideal_wang
2009-05-22
打赏
举报
回复
//读取配置文件信息
public String getPath(String filename, String strPath) throws IOException {
InputStream inputStream = this.getClass().getClassLoader()
.getResourceAsStream(filename);
String savePath = "";
Properties p = new Properties();
try {
p.load(inputStream);
savePath = p.getProperty(strPath);
} catch (IOException e1) {
e1.printStackTrace();
}finally{
inputStream.close();
}
return savePath;
}
其他地方都是直接调的这个接口来读取配置文件
Johnson_Hong
2009-05-22
打赏
举报
回复
你的Properties对象是什么时候读取的文件,这个对象放在哪个变量里,你都不知道吗?
gideal_wang
2009-05-22
打赏
举报
回复
我的问题就是怎么修改缓存中保存的配置文件信息?就是不清楚配置文件是通过什么方式缓存到内存中的
Johnson_Hong
2009-05-22
打赏
举报
回复
看配置的这块程序到底是怎么写的了
你在修改了文件的同时把缓存中的也修改了就可以了
缓存
redis,消息队列rabbitmq
为了保证效率,数据都是
缓存
在内存
中
。 redis的出现,在部分场合可以对关系数据库起到很好的补充作用。 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。MQ全称为Message Queue, 消息队列(MQ)是一种应用...
Sharding jdbc 动态创建数据表并更新
配置文件
及
刷新
缓存
中
的配置
配置文件
我直接在 applicationContext.xml
中
加入的配置。 <bean id="ds0" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <
property
name="driverClassName" value="com.my
springboot三行代码实现配置项的动态
刷新
(无配置
中
心)
比如:在上面的
配置文件
中
,有个version的配置,当我想动态的更改这个name的值的时候,如果在代码里更改然后打包也是可行的方法,但是如果更改频繁,那么就麻烦了。 方案演示,实际以个人情况为准: @...
解决
修改
properties 属性文件存在
缓存
问题,附带操作properties文件工具类
在做项目的时候有些数据不一定需要在... 在项目
中
要
修改
properties,
修改
之后,再进入相关目录查看properties文件,发现内容已经
修改
了,但是但通过TaskController.class.getResourceAsStream("/config.properties
mybatis
配置文件
详解
mybatis框架本身其实只有一个
配置文件
,及mybatis-config.xml,只是这个
配置文件
中
有一个属性mappers(映射器),可能会包含大量的SQL映射文件,所以通常会单独扩展,形成一个个单独的xxxMapper.xml映射文件。...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章