tomcat的reload原理
来源:互联网 发布:淘宝商城帐篷 编辑:程序博客网 时间:2024/06/10 01:05
整个处理流程是在一个定时任务ContainerBackgroundProcessor线程进行处理的
/** * Private thread class to invoke the backgroundProcess method * of this container and its children after a fixed delay. */ protected class ContainerBackgroundProcessor implements Runnable { @Override public void run() { while (!threadDone) { try { Thread.sleep(backgroundProcessorDelay * 1000L); } catch (InterruptedException e) { // Ignore } if (!threadDone) { Container parent = (Container) getMappingObject(); ClassLoader cl = Thread.currentThread().getContextClassLoader(); if (parent.getLoader() != null) { cl = parent.getLoader().getClassLoader(); } processChildren(parent, cl); } } } protected void processChildren(Container container, ClassLoader cl) { try { if (container.getLoader() != null) { Thread.currentThread().setContextClassLoader (container.getLoader().getClassLoader()); } container.backgroundProcess(); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); log.error("Exception invoking periodic operation: ", t); } finally { Thread.currentThread().setContextClassLoader(cl); } Container[] children = container.findChildren(); for (int i = 0; i < children.length; i++) { if (children[i].getBackgroundProcessorDelay() <= 0) { processChildren(children[i], cl); } } } }
最终一步步地调用StandardContext的reload()方法进行重新加载.
0 0
- tomcat的reload原理
- 让MyEclipse里的Tomcat自动Reload
- 让MyEclipse里的Tomcat自动Reload
- Tomcat 自动reload
- Tomcat reload class at runtime
- TOMCAT启动后,频繁reload
- import reload from...reload的区别
- Dom的reload方法
- windbg的reload命令
- IFrame的Reload方法
- Python 的reload()方法
- Tomcat实现自动reload更新以后的工程信息,不需要重新配置 、deploy...
- tomcat reload 时报web应用已停止,不能加载jdbc异常的解决方法
- tomcat的内部原理
- Tomcat的组成原理
- tomcat的原理
- tomcat的session原理
- Tomcat Context reload 与 OutOfMemory(PermSpace)
- linux下使用screen和ping命令对网络质量进行监控
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)补遗
- 5. Longest Palindromic Substring
- 关于DUBBO服务的XML配置文件报错的问题
- ImageView加边框
- tomcat的reload原理
- shell 脚本中while 循环只执行一次的问题
- linux包含权限压缩文件与解压缩
- 飞思卡尔K22调试FXOS8700加速度和电子罗盘
- [Openwrt 项目开发笔记]:Openwrt必要设置(二)
- 训练神经网络的五大算法
- hive实例讲解实现in和not in子句
- coreseek使用和配置
- python项目内import其他内部package的模块的正确方法