码迷,mamicode.com
首页 > 编程语言 > 详细

monitor spring properties files and refresh

时间:2015-04-24 21:14:35      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:spring   configurableapplicat   spring重启   spring#refresh   

简介:

监控spring配置的properties文件,当配置文件修改后自动重启spring

本插件适用于集群的web应用,通过配置中心管理配置文件

原理

使用 ApplicationListener#onApplicationEvent 监听配置spring启动,启动完成后开启监控线程ConfMonitorMain#start,当某个配置文件修改后ConfMonitorMain通知ConfChangedListener#fileChanged,具体的实现有个默认的DefaultConfChangedListener,DefaultConfChangedListener#fileChanged会重启spring(销毁创建bean和重新加载properties)

DefaultConfChangedListener 的实现也是使用 ApplicationListener#onApplicationEvent 监听spring 的启动,并记录ApplicationContext,在 springmvc 模式下会有2个ConfigurableApplicationContext,所以需要使用sprintContextList记录,当触发fileChanged时,遍历sprintContextList进行refresh即可完成spring 重启

原理图:

技术分享

使用说明

https://github.com/blackshadowwalker/spring-conf/wiki

源码

https://github.com/blackshadowwalker/spring-conf

扩展开发

1. 自定义ConfChangedListener进行处理,如restart webappp 等

2. 本地文件监控使用nio

3. 远程文件(http)使用zookeeper获取变更通知

4. 建立一个配置管理中心

monitor spring properties files and refresh

标签:spring   configurableapplicat   spring重启   spring#refresh   

原文地址:http://blog.csdn.net/lanmo555/article/details/45250569

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!