首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JBoss 7类装载奇迹

JBoss 7类装载奇迹
EN

Stack Overflow用户
提问于 2014-01-10 11:01:29
回答 3查看 2.5K关注 0票数 2

在JBoss 7下捆绑为WAR的webservice/OSGi应用程序有问题。

我的问题是:

  1. 默认情况下,应用程序可用哪些模块?我知道如何添加依赖项,以及如何排除依赖项。但是我怎么知道缺省值呢?我认为它们被称为“全球模块”。
  2. 默认情况下,哪些JDK包被提供给应用程序?全?一些吗?我该怎么调查这个?
  3. 具体错误如下。一些引导代码调用javax.xml.parsers.DocumentBuilderFactory.newInstance()。这将导致异常javax.xml.parsers.FactoryConfigurationError: Provider __redirected.__DocumentBuilderFactory not found。就像在JBoss中一样,系统属性javax.xml.parsers.DocumentBuilderFactory指向上述奇怪的实现__redirected.__DocumentBuilderFactory

谢谢你的帮忙!

EN

回答 3

Stack Overflow用户

发布于 2014-01-13 16:39:32

回答我自己的问题:

  1. 在这里找到的JBoss文档:https://docs.jboss.org/author/display/AS7/Implicit+module+dependencies+for+deployments中详细描述了隐式添加的模块。正如另一个答案已经声明的那样,依赖项可以通过在jboss-deployment-structure.xml中声明排除而被抑制。
  2. 见上面的答案
  3. 部署到JBoss的应用程序是一个WAR文件,它本身引导OSGi容器。在容器内部,Gemini用于管理OSGi服务依赖项。Gemini Blueprint搜索Spring应用程序上下文文件,如果找到,则启动包的Spring上下文。解析XML文件失败,但有上述异常。原因是包__redirected不适合包。我通过引导delegation.In JBoss实现了这一点--一些像"javax.xml.parsers.DocumentBuilderFactory“这样的JDK类通过一个系统属性#被重定向到JBoss包" __redirected”,相应的实现"__ redirected /__DocumentBuilderFactory“通过”引导委托“org.osgi.framework.bootdelegation =__redirected#将父类加载器设置为加载框架的包。它必须能够访问引导代理包,例如"__redirected“org.osgi.framework.bundle.parent = framework。
票数 1
EN

Stack Overflow用户

发布于 2014-01-10 11:49:54

  1. 您可以检查管理控制台/ OSGi选项卡,以查看运行时可用的内容。“默认情况下”取决于您的启动配置,有4个备选的启动配置文件,您可以使用IIRC。
  2. 检查$JBOSS/modules/sun/jdk/main/module.xml,看看哪些包被导入,哪些包没有导入。只有其中一些是。另一些则需要通过使用jboss部署-结构手动添加,或者在需要时修改sun.jdk module.xml文件。除了JDK之外,还有其他自动依赖项,这些依赖项都列在此页上。
  3. 您需要提供更多的细节来回答这个问题,包括依赖关系。对于模块化的类加载器来说,Xerces解析器是一个非常头痛的问题。
票数 0
EN

Stack Overflow用户

发布于 2015-10-13 13:53:12

问题在于setContextClassLoader方法的使用。这将覆盖可以加载DocumentBuilderFactory的类赋值器。解决办法是使用OrderClassLoaders。

代码语言:javascript
复制
Thread currentThread = Thread.currentThread();
ClassLoader originalCl = currentThread.getContextClassLoader();
currentThread.setContextClassLoader( new OrderClassLoaders( myCl, originalCl ) );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21042633

复制
相关文章

相似问题

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