论坛首页 Java企业应用论坛

Java自动重载Spring配置文件

浏览 13367 次
精华帖 (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>
0 请登录后投票
   发表时间:2011-06-23  
支持楼主!虽然重载spring配置文件应用型不高,不过可以检测某些文件的改变!
0 请登录后投票
   发表时间:2011-06-23  
没看到跟spring有什么关系
0 请登录后投票
   发表时间:2011-06-23  
问题有复杂化的倾向...
也就是说,运行一段时间后,你的Spring容器里会有第1次配置时的产生的bean以及第n次产生的bean.同时如果bean的scope又不同的话,或者scope不是singleton 这样的,同一个bean可能会有多个实现版本在运行,会不会引发一些冲突之类?

结果是,每次你发布spring配置文件的时候,除了要检查语义上的完备性,还给去检查业务与逻辑的冲突.这个责任由谁来负责?
1 请登录后投票
   发表时间:2011-06-23  
楼主其实就是想实现一个类似wtp的动态加载配置文件的功能,提升开发效率,无关生产环境、需求之流
0 请登录后投票
   发表时间:2011-06-23  
commons-io.jar能给我一个不?我觉着这个功能要是实现了,开发的时候就不用总重启了,耽误时间,想研究下
xpfnihao@163.com
0 请登录后投票
   发表时间:2011-06-23  
像这种非动态的还不靠谱。。。试下用spring加载groovy,ruby之类的。。
0 请登录后投票
   发表时间: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,走的是“新”的逻辑.
0 请登录后投票
   发表时间:2011-06-23  
BruceXX 写道
像这种非动态的还不靠谱。。。试下用spring加载groovy,ruby之类的。。

使用动态语言是不错的选择,这个也看你应用的场景。
现在有两种模式,一种是推,推就是说我有新闻,我会给每一家都发放报纸。[肯定有新闻]
                一种是拉,拉就是说只看浙江晚报,我去你家取。[可能没新闻]
比如,文件变化了,我告诉你我变化了,所有使用到我的关系户,你们监听到了,做相应的变更吧.
比如,文件变化了,我每一次去检测一下,有没有变化,如果变化了,我自己做相应的变更.
当然不同的需求,不同的业务,就会有不同的解决方案。
0 请登录后投票
   发表时间:2011-06-23  
代码不错 不过实际应用中应用的很少 
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics