如何判断一个类加载器属于哪个web应用程序
问题描述:
我有一堆类加载器实例,但无法知道它们是什么 - 我知道一些是用于web应用程序的情况是否有办法告诉哪个他们属于哪个webapp?这些都是相同的类类型btw的所有实例 - 不是它有所作为... 谢谢!如何判断一个类加载器属于哪个web应用程序
答
我不知道任何属性,只要上下文可用于识别webapp类加载器,但您可以遍历每个上下文,查看其相关的类加载器并以这种方式查找匹配项。
这是一个好主意,但没有直接引用servletcontext中的类加载器(这是你的意思?)。 我不想通过编写代码来寻找线程上下文类加载器来污染我的web应用程序(如果这确实与web应用程序关联的类加载器相同...) 是否有从Web应用程序获取webapp关联类加载器上下文? – unmaskableinterrupt 2010-09-02 21:47:09
如果您使用的是Tomcat,则可以使用context.getLoader()来访问webapp类加载器,并且您也可以像使用context.getParentClassLoader()一样从同一个上下文中访问父类加载器。通过上下文我的意思是org.apache.catalina.Context应该可以在任何Servlet类中使用。 – 2010-09-02 22:04:15