论坛首页 Java企业应用论坛

Java自动重载Spring配置文件

浏览 13368 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-06-23  
LZ,使用条件只有一个,那就是监听其他服务器是否正常使用。对于正在使用的服务,这样进行修改配置文件重新加载,肯定会出问题的。。。。
0 请登录后投票
   发表时间:2011-06-23  
开发的时候 自己修改配置以后 还不如写个main手动加载一下更方便。
0 请登录后投票
   发表时间:2011-06-23  
楼主没有把如何重新加载bean的代码贴出来,直接刷整个context速度很慢,还不如直接重启
0 请登录后投票
   发表时间:2011-06-24  
能写下具体怎么加载吗?
如果只是java文件修改了,如何加载。。。
0 请登录后投票
   发表时间:2011-06-24  
如果只是java文件修改了,如何加载。。。
feiyu86 写道
能写下具体怎么加载吗?
如果只是java文件修改了,如何加载。。。

具体的加载方式需要了解Spring对bean的生命周期,我说下思路,具体的自已去实现。
如果文件是新加的xml,则可以新建一个Application,指定其父Application.
如果文件是删除的xml,则可以销毁一个Application.
如果文件是修改的xml,则需要检测文件的修改点,比哪BeanA做了变更,则可以重新加载BeanA,放设置到Application中,其中引用BeanA的Bean,如果需要更新的,则需要重新初始化它的引用。
0 请登录后投票
   发表时间:2011-06-24  
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>



回去研究下。
0 请登录后投票
   发表时间:2011-06-24  
a123159521 写道
如果只是java文件修改了,如何加载。。。
feiyu86 写道
能写下具体怎么加载吗?
如果只是java文件修改了,如何加载。。。

具体的加载方式需要了解Spring对bean的生命周期,我说下思路,具体的自已去实现。
如果文件是新加的xml,则可以新建一个Application,指定其父Application.
如果文件是删除的xml,则可以销毁一个Application.
如果文件是修改的xml,则需要检测文件的修改点,比哪BeanA做了变更,则可以重新加载BeanA,放设置到Application中,其中引用BeanA的Bean,如果需要更新的,则需要重新初始化它的引用。



你怎么知道bean对应的xml文件?反射获取还是改了spring的代码?
0 请登录后投票
   发表时间:2011-06-25  
kyfxbl 写道
脱离需求啊,有什么场景会边跑边改spring配置文件吗?

还是有可能的,在Dev阶段,大项目的时候,分层很多,配置文件很多,有时候不免会忘记配置一些类。
0 请登录后投票
   发表时间:2011-06-29  
包名大写,牛白!
0 请登录后投票
论坛首页 Java企业应用版

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