首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插装和Tomcat Hotdeploy

插装和Tomcat Hotdeploy
EN

Stack Overflow用户
提问于 2015-10-27 23:56:41
回答 1查看 156关注 0票数 0

我正在开发一个Java代理,用于检测一些应用程序类并获取运行时信息。当我在Tomcat7上重新部署我的应用程序时,我释放了我的大多数插装类,并且我的代理中没有任何方法被调用来重新插装新装入的类。

如何捕获新加载的类以对其进行插装?或者,有没有一种方法可以捕获重新部署事件来启动getAllLoadedClasses并重新检测所有东西?

欢迎任何更好的解决问题的方法。

EN

回答 1

Stack Overflow用户

发布于 2015-12-15 18:21:18

在重新部署应用程序时,Tomcat会释放未部署应用程序的类加载器。这样,所有类都可以由运行Tomcat的JVM卸载。同时,应用程序再次由另一个类加载器加载,因此重新部署的应用程序的所有类都是第一次加载。

因此,您可以简单地使用ClassFileTransformer截获加载过程,并在不重新定义任何类的情况下插入所有类。对于Tomcat加载的任何类,都会触发ClassFileTransformer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33372676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档