锁定老帖子 主题:Java自动重载Spring配置文件
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-23
最后修改:2011-06-23
LZ 有个东西叫着 apache commons configuration
你可以使用之 e.g. <bean id="....config" class="org.apache.commons.configuration.XMLConfiguration"> <constructor-arg type="java.lang.String" value="XXXX.xml"/> <property name="reloadingStrategy"> <bean class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy"/> </property> </bean> |
|
返回顶楼 | |
发表时间:2011-06-23
支持楼主!虽然重载spring配置文件应用型不高,不过可以检测某些文件的改变!
|
|
返回顶楼 | |
发表时间:2011-06-23
没看到跟spring有什么关系
|
|
返回顶楼 | |
发表时间:2011-06-23
问题有复杂化的倾向...
也就是说,运行一段时间后,你的Spring容器里会有第1次配置时的产生的bean以及第n次产生的bean.同时如果bean的scope又不同的话,或者scope不是singleton 这样的,同一个bean可能会有多个实现版本在运行,会不会引发一些冲突之类? 结果是,每次你发布spring配置文件的时候,除了要检查语义上的完备性,还给去检查业务与逻辑的冲突.这个责任由谁来负责? |
|
返回顶楼 | |
发表时间:2011-06-23
楼主其实就是想实现一个类似wtp的动态加载配置文件的功能,提升开发效率,无关生产环境、需求之流
|
|
返回顶楼 | |
发表时间:2011-06-23
commons-io.jar能给我一个不?我觉着这个功能要是实现了,开发的时候就不用总重启了,耽误时间,想研究下
xpfnihao@163.com |
|
返回顶楼 | |
发表时间:2011-06-23
像这种非动态的还不靠谱。。。试下用spring加载groovy,ruby之类的。。
|
|
返回顶楼 | |
发表时间:2011-06-23
jsjmz 写道 LZ 有个东西叫着 apache commons configuration
你可以使用之 e.g. <bean id="....config" class="org.apache.commons.configuration.XMLConfiguration"> <constructor-arg type="java.lang.String" value="XXXX.xml"/> <property name="reloadingStrategy"> <bean class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy"/> </property> </bean> 嗯,这个不错,应用了文件变更策略. Spring重载bean为什么会产生多代的bean呢,不知道你有没有看过Spring的源码。bean一般只初始化一次,如果配置文件重载了,你覆盖以前的bean便是了. 如果业务逻辑正在处理,你把bean变更了,会不会对业务产生影响。Spring使用的是并发Map,支持多线程并发操作,如果当前业务得到的是“老”的bean,那么走“老”的逻辑,如果得到的“新”的bean,走的是“新”的逻辑. |
|
返回顶楼 | |
发表时间:2011-06-23
BruceXX 写道 像这种非动态的还不靠谱。。。试下用spring加载groovy,ruby之类的。。
使用动态语言是不错的选择,这个也看你应用的场景。 现在有两种模式,一种是推,推就是说我有新闻,我会给每一家都发放报纸。[肯定有新闻] 一种是拉,拉就是说只看浙江晚报,我去你家取。[可能没新闻] 比如,文件变化了,我告诉你我变化了,所有使用到我的关系户,你们监听到了,做相应的变更吧. 比如,文件变化了,我每一次去检测一下,有没有变化,如果变化了,我自己做相应的变更. 当然不同的需求,不同的业务,就会有不同的解决方案。 |
|
返回顶楼 | |
发表时间:2011-06-23
代码不错 不过实际应用中应用的很少
|
|
返回顶楼 | |