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之类的框架导致应用热部署失败的问题。
分享到:
相关推荐
开发者需要将原来的容器session监听器迁移到bboss会话共享实现。对于修改session中的对象数据,必须调用session.setAttribute方法将对象数据更新到MongoDB中,从而实现数据的共享。 bboss会话共享还提供了两种模式...
BBoss MVCDemo 是一个基于Java的企业级应用框架,它主要为开发者提供了一种高效、灵活的MVC(Model-View-Controller)开发模式。这个框架的目的是简化企业级Web应用的开发流程,提高开发效率,并且具备良好的可扩展...
BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...
3. **销毁清理**:当应用关闭或过滤器不再使用时,`destroy()`方法会被调用,用于清理资源。 在BBoss框架中,安全认证通常涉及以下步骤: 1. **用户登录**:用户通过提交用户名和密码发起登录请求,服务器验证这些...
BBoss(全称为bbossgroups)是一个专为企业级J2EE应用设计的开源框架,它为Java开发者提供了一系列强大的工具和服务,以简化Web应用程序的开发过程。该框架旨在提高开发效率,降低维护成本,同时保持高度的灵活性和...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
**bboss+es基本操作示例** ...总之,bboss+es基本操作示例是学习和实践Elasticsearch与Java集成的优秀资源,通过这个示例,开发者可以快速掌握bboss框架下的DSL操作,为实际项目开发打下坚实基础。
本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...
BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的开发框架,它简化了Elasticsearch在企业级应用中的集成和开发工作。 **一、Elasticsearch简介** Elasticsearch 以其分布式、RESTful 风格的 API 而...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。...通过深入学习和使用bboss-datatran,用户可以提升数据处理效率,更好地挖掘数据的价值。
【bboss-db-elasticsearch-tool-master_java_】是一个Java ORM(对象关系映射)框架,它在功能上超越了MyBatis,提供了对多种数据库的广泛支持,包括MySQL、Oracle、PostgreSQL、SQLServer、DB2、DM以及MongoDB。...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
1. `log4j-core-2.8.2.jar`:Apache Log4j是Java平台上的一个日志记录框架,用于收集应用程序运行过程中的各种信息。版本2.8.2提供更高效的日志处理和更丰富的配置选项,有助于调试和监控Elasticsearch的运行状态。 ...
接下来,`bboss平台代码生成工具使用教程.wmv`可能涵盖了如何利用bboss的代码生成器提高开发效率。这个工具可以帮助开发者自动生成常见的CRUD操作,减少手动编写重复代码的时间。使用步骤可能包括: 1. **配置数据...
6. **性能优化**:BBoss Persistent还可能包括针对CLOB和BLOB的性能优化,比如预读取、延迟加载等策略,以提高应用的响应速度和整体性能。 总结来说,BBoss Persistent 1.0.2在处理CLOB和BLOB这类大字段时,通过...
弹性Tran老板数据交换模块使用文档: : Bboss是一个很好的Elasticsearch Java Rest客户端。 它运行并访问像mybatis这样的elasticsearch来关联数据库。环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5...
BBoss和EasyUI是两个在IT领域中常用于构建企业级Web应用的开源框架。BBoss,全称为“Business Basic Operation Support”,是一个基于Java的企业级开发框架,它提供了丰富的组件和工具,使得开发者能够快速地进行...
官方版本,亲测可用