繁体   English   中英

来自本地模块加载器@ 44f218的[Module“ org.jboss.as.jmx:main”中的Jboss 6.4EAP ClassNotFoundException(查找器:本地模块查找器

[英]Jboss 6.4EAP ClassNotFoundException from [Module “org.jboss.as.jmx:main” from local module loader @44f218 (finder: local module finder

我正在将EAR文件从JBoss 5迁移到Jboss EAP 6.4。 我添加了一个自定义模块com.documentum.dfc,其中包含EAR所需的所有类。 足够奇怪的是,我清楚地看到一些类正在加载(com.documentum ...),但仍然找不到与成功实例化的类在同一jar文件中提供的Factory类。与通过另一个类加载器加载的Factory机制有关,或者该类加载器在此特定类的错误位置查找了它。它应该在com.documentum.dfc模块中进行搜索,但似乎在org.jboss中进行搜索.as.jmx:主

知道这里出了什么问题吗?

Caused by: javax.xml.parsers.FactoryConfigurationError: Provider com.documentum.xml.jaxp.DfDocumentBuilderFactoryImpl not found
    at com.documentum.xml.jaxp.DfDocumentBuilderFactory.newInstance(DfDocumentBuilderFactory.java:27)
    at com.documentum.xml.common.DfParserFactory.<init>(DfParserFactory.java:40)
    at com.documentum.xml.common.DfParserFactory.getInstance(DfParserFactory.java:62)
    at com.documentum.fc.internal.xml.XMLUtilsFactory.getParserFactory(XMLUtilsFactory.java:17)
    at com.documentum.fc.client.impl.bof.cache.CacheManifest.initCacheContentFile(CacheManifest.java:534)
    at com.documentum.fc.client.impl.bof.cache.CacheManifest.init(CacheManifest.java:45)
    at com.documentum.fc.client.impl.bof.cache.DefaultLocalAccessor.init(DefaultLocalAccessor.java:23)
    at com.documentum.fc.client.impl.bof.cache.ClassCacheManager.initDocbase(ClassCacheManager.java:597)
    at com.documentum.fc.client.impl.bof.cache.ClassCacheManager.initialDiscovery(ClassCacheManager.java:588)
    at com.documentum.fc.client.impl.bof.cache.ClassCacheManager.<init>(ClassCacheManager.java:440)
    at com.documentum.fc.client.impl.bof.cache.ClassCacheManager.getInstance(ClassCacheManager.java:52)
    at com.documentum.fc.client.impl.bof.classmgmt.ModuleManager.init(ModuleManager.java:317)
    at com.documentum.fc.client.impl.bof.classmgmt.ModuleManager.getInstance(ModuleManager.java:43)
    at com.documentum.fc.client.security.impl.DfcIdentityPublisher.<init>(DfcIdentityPublisher.java:44)
    at com.documentum.fc.client.security.internal.RegistrationMgr.register(RegistrationMgr.java:34)
    at com.documentum.fc.impl.RuntimeContext.<clinit>(RuntimeContext.java:195)
    at com.documentum.fc.client.DfClient.<clinit>(DfClient.java:772)
    at com.documentum.com.DfClientX.getLocalClient(DfClientX.java:43)
    at nl.enexis.service.mbean.dctm.DctmSessionManager.init(DctmSessionManager.java:43)
    at nl.enexis.service.mbean.dctm.DctmSessionManager.<init>(DctmSessionManager.java:34)
    at nl.enexis.service.mbean.dctm.DctmConnectionService.getSessionManager(DctmConnectionService.java:33)
    at nl.enexis.service.mbean.dctm.DctmConnectionService.startService(DctmConnectionService.java:58)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:258)
    at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:165)
    at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:236)
    at org.jboss.system.ServiceMBeanSupport.create(ServiceMBeanSupport.java:161)
    at org.jboss.system.ServiceMBeanSupport.postRegister(ServiceMBeanSupport.java:377)
    at com.sun.jmx.mbeanserver.MBeanSupport.postRegister(MBeanSupport.java:182) [rt.jar:1.7.0_80]
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.postRegister(DefaultMBeanServerInterceptor.java:1024) [rt.jar:1.7.0_80]
    ... 12 more
Caused by: java.lang.ClassNotFoundException: com.documentum.xml.jaxp.DfDocumentBuilderFactoryImpl from [Module "org.jboss.as.jmx:main" from local module loader @44f218 (finder: local module finder @724357 (roots: d:\Programs\JBossEAP-6.4.0\modules,d:\Programs\JBossEAP-6.4.0\modules\system\layers\base\.overlays\layer-base-jboss-eap-6.4.14.CP,d:\Programs\JBossEAP-6.4.0\modules\system\layers\base))]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:211) [jboss-modules.jar:1.3.8.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.8.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.8.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.8.Final-redhat-1]
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.8.Final-redhat-1]
    at com.documentum.xml.jaxp.DfFactoryFinder.newInstance(DfFactoryFinder.java:135)
    at com.documentum.xml.jaxp.DfFactoryFinder.find(DfFactoryFinder.java:273)
    at com.documentum.xml.jaxp.DfDocumentBuilderFactory.newInstance(DfDocumentBuilderFactory.java:19)
    ... 40 more

我的EAR的结构:

-lib
-- several libs
-META-INF
--application.xml
--beans.xml
--jboss-classloading.xml
--jboss-deployment-structure.xml
-enexisServiceCommonsEJB-1.0.0.jar

JBoss的部署,structure.xml:

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
    <!--
    <ear-subdeployments-isolated>false</ear-subdeployments-isolated>
    -->
    <deployment>
        <dependencies>
            <module name="com.documentum.dfc" export="true"/>
            <!--
            <module name="org.jboss.as.ejb3" export="true"/>
            <module name="org.jboss.as.system-jmx" export="true"/>
            <module name="org.jboss.as.jmx" export="true"/>
            -->
        </dependencies>
    </deployment>
  <sub-deployment name="enexisServiceCommonsEJB-1.0.0.jar">

    <dependencies>
            <module name="com.documentum.dfc" export="true"/>
<!--
            <module name="org.jboss.as.ejb3" export="true"/>
            <module name="org.jboss.as.system-jmx" export="true"/>
            <module name="org.jboss.as.jmx" export="true"/>
-->
     </dependencies>
    <local-last value="true" />
  </sub-deployment>  

</jboss-deployment-structure>

为了在Jboss中使用Tibco EMS队列/主题,我们需要在jboss中配置和部署通用JMS资源适配器。 请按照以下步骤在JBOSS7或Jboss eap 6.4中配置JMS资源适配器:

  • 步骤1:在jboss安装目录\\ modules \\ com \\ tibco \\ tibjms \\ main中创建以下文件夹结构将tibjms.jar和tibcrypt.jar复制到\\ modules \\ com \\ tibco \\ tibjms \\ main并创建具有以下内容的module.xml:

     <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="com.tibco.jms"> <resources> <resource-root path="tibcrypt.jar"/> <resource-root path="tibjms.jar"/> <!-- Insert resources here --> </resources> <dependencies> <!-- Insert dependencies here --> <module name="javax.api"/> <module name="javax.jms.api"/> </dependencies> </module> 
  • 步骤2:打开\\ jboss-eap-6.4 \\ modules \\ system \\ layers \\ base \\ org \\ jboss \\ jts \\ main \\ module.xml和\\ jboss-eap-6.4 \\ modules \\ system \\ layers \\ base \\ org \\ jboss \\ as \\ ee \\ main \\ module.xml在两个位置中添加以下依赖项

     <dependencies>      <module name="com.tibco.tibjms"/> </dependencies> 
  • 步骤3:打开standalone_XXX.xml(曾经使用过的文件)(\\ standalone \\ configuration \\ standalone.xml),并在其中添加以下行

     <mdb> <resource-adapter-ref resource-adapter-name="genericra.rar"/>   <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> </mdb> 
  • 步骤4:重新启动服务器,然后查看异常是否得到解决。 通过上述步骤,我的问题解决了。 祝一切顺利。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM