我正在将我为我们的应用程序编写的一个小工具迁移到JBoss作为5.1。基本上,这些工具帮助我解决类加载问题:它在运行时发现指定类的类加载层次结构,并查找每个类加载器加载的所有类和jars。它是一个相当简单的工具--它只是使用Classloader.getPArent()方法来获取类加载器层次结构。
使其适用于WLS的诀窍是,它们的类加载器实现要么有一个返回所有类路径条目的完整列表的'getClassPath()‘方法,要么它们是URLClassloader类的实例,我可以使用它的’getURL()‘方法获取相同的信息。
现在看来,JBoss内部的类加载器并不遵循相同的模式--所以我想知道是否有其他方法来获取相同的信息?
基本上,我想全面了解类加载层次结构,以及哪个类加载器在运行时加载哪些类/jars。它必须是一个运行时信息--因为我希望能够为类的任何实例(无论是servlet、EJB、util类或JSP )找到这些信息,这样我就可以看到在类加载器层次结构中这些对象在哪里,它们的同级加载资源是什么,以及它们的父类加载器是什么。
谢谢!
玛丽娜
发布于 2011-01-24 09:23:10
实际上,这与JBoss使用的VFS有关,我已经编写了一个帖子,将这个问题与相应的解决方案联系起来。
https://stackoverflow.com/questions/3531666
复制相似问题