bboss热部署应用资源销毁监听器ApplicationLifeListener使用说明
实现类org.frameworkset.web.listener.ApplicationLifeListener实现javax.servlet.ServletContextListener接口,当应用卸载时用来清除框架和应用系统的内存缓存资源,有效规避应用热部署时内存泄露和线程泄露风险。
在web.xml开头处配置ApplicationLifeListener即可,配置方法如下:
<listener>
<description><![CDATA[应用销毁监听器:
在应用销毁之前调用系统shutdown 回调函数,前提是所有的shutdown回调函数
是通过以下方法注册:
BaseApplicationContext.addShutdownHook(new Runnable(){
@Override
public void run() {
try {
stop();
} catch (Throwable e) {
e.printStackTrace();
}
}});]]>
</description>
<listener-class>org.frameworkset.web.listener.ApplicationLifeListener</listener-class>
</listener>
ApplicationLifeListener组件在应用销毁时主动销毁bboss框架占用的系统资源,应用程序也可以通过org.frameworkset.spi.BaseApplicationContext组件提供的addShutdownHook方法添加自己的资源销毁回调程序:
public static void addShutdownHook(Runnable destroyVMHook,int proir)
public static void addShutdownHook(Runnable destroyVMHook)
两个方法参数说明:
destroyVMHook-为java.lang.Runnable接口实现类,用来执行具体的资源销毁逻辑
int proir-指定Runnable 的执行优先级,数值越大越先执行。
方法使用示例:
按默认添加顺序执行方式
BaseApplicationContext.addShutdownHook(new Runnable(){
@Override
public void run() {
try {
CacheUtil.destroy();
} catch (Throwable e) {
e.printStackTrace();
}
}});
指定执行优先级方式:
BaseApplicationContext.addShutdownHook(new Runnable(){
@Override
public void run() {
try {
CacheUtil.destroy();
} catch (Throwable e) {
e.printStackTrace();
}
}},100);
ApplicationLifeListener可有效解决bboss托管的quartz、activiti之类的框架导致应用热部署失败的问题。
分享到:
相关推荐
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
企业级 J2EE 开源框架:bboss
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
官方版本,亲测可用
bboss是一个j2ee开源框架,为企业级应用开发提供一站式解决方案,并能有效地支撑移动应用开发。bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
NULL 博文链接:https://yin-bp.iteye.com/blog/2325602
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
基于bboss新版平台项目环境搭建和代码工具使用视频教程
官方版本,亲测可用