JBoss AS Classloader实现?

时间:2010-08-20 14:10:46

标签: jboss5.x

我正在迁移我为我们的应用程序编写的一个小工具,该工具正在使用WAS和WLS到JBoss AS 5.1。基本上,这些工具可以帮助我解决类加载问题:它在运行时发现指定类的类加载层次结构,并找出每个类加载器加载的所有类和jar。这是一个相当简单的工具 - 它只使用Classloader.getPArent()方法来获取类加载器层次结构。

使其适用于WLS和WAS的技巧是他们的类加载器实现要么具有' getClassPath()'方法,该方法返回所有类路径条目的完整列表,或者它们是URLClassloader类,我可以使用它的“ getURLs()”方法来获取相同的信息。

现在,看起来JBoss内部类加载器不遵循相同的模式 - 所以我想知道是否还有其他方法可以以某种方式获取相同的信息?

基本上,我想全面了解类加载层次结构以及哪个类加载器在运行时加载哪些类/ jar。它必须是运行时信息 - 因为我希望能够为类的任何实例找到这些信息,无论是servlet,EJB,util类还是JSP,这样我才能看到类加载器层次结构中的位置这些对象是他们的兄弟加载资源是什么以及他们的父类加载器是什么。

谢谢!

码头

1 个答案:

答案 0 :(得分:1)

事实上,这是JBoss使用的VFS,我写了post来解决这个问题和相应的解决方案。