如何在关闭web服务时进行一些清理操作(Spring mvc)
2015-03-30 10:28
295 查看
背景
目前正在替一家500强企业开发系统,因为系统众多所以他们使用ESB对各个系统之间的服务进行管理,同样也要求我们的系统进行对接。要求在我们的系统启动时进行注册,在系统关闭时进行注销。根据要求同事写了一个serverlet在系统启动的时候进行注册操作,但是不知道在系统关闭时进行相应的操作。解决方法
因为项目使用spring mvc 项目,所以我知道可以通过spring的监听器完成相应的工作。步骤1:实现ApplicationListener
package com.efuture.vpm.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextClosedEvent; public class ApplicationEventListener implements ApplicationListener { protected final Log log = LogFactory.getLog(getClass()); public void onApplicationEvent(ApplicationEvent event) { //容器关闭时触发的事件 if(event instanceof ContextClosedEvent ){ log.info("application close 1111111111111111111111111111111111111 "); }else{ log.info("application ohter event 222222222222222222222222222222222222222 "); } } }
步骤2: 配置
<!-- 应用级的监听器 (注销esb) --> <bean id="sytemEventListener" class="com.efuture.vpm.util.ApplicationEventListener"></bean>
备注:
关闭事件的触发仅限于正常方式关闭服务器,而不是直接关闭 console窗口这样的方式。
相关文章推荐
- 知道一个文件名和位置如何对其进行打开/关闭操作
- QT如何在点关闭按钮时执行一些操作
- 在关闭网页之前可以进行的一些操作
- 一个list,一个数组,如何在相互比较之后进行一些操作
- 03-如何对Memchached进行CRUD操作?
- 文件操作之增删改查3---文件的修改,f.replace(),在linux里的一些应用sed,with语句方法来打开一个或多个文件避免忘记关闭,python一行写的太长,怎么编写多行的规范
- objective-c中对象所有权的内存管理(关于set,get方法),以及如何使用@property来进行简易操作(九)
- 如何进行 Oracle10g RAC关闭及启动
- C#中如何操作XML,对XML进行增、删、改节点
- 如何在c#程序中模拟域帐户进行登录操作
- SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库
- android中如何在SD卡上进行文件读写操作
- Drupal网站维护:关闭网站后如何进行用户登录
- Java控制台程序如何在用户关闭时执行清理代码
- 如何连接远程redis,并且选择某个库进行操作
- 如何使用mybatis对mysql数据库进行操作,batis的增删改查
- 【用户在线统计】如何处理浏览器关闭时候的session清理问题
- 市面上所有号称"虚拟机","防火墙"的实时监控杀毒软件无一不是使用的IFSHOOK技术.但是同时也有一些朋友不断写MAIL给我打听如何实现读写的监控.下面给出用VTOOLSD写的代码.也就是所有实时杀毒软件的奥秘.同时,很多拦截文件操作的软件,例如对目录加
- 在C#中如何调用windows的API进行关机操作!!!
- 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率,才能提高整个应用程序