我正在將EAR文件從JBoss 5遷移到Jboss EAP 6.4。 我添加了一個自定義模塊com.documentum.dfc包含我的EAR所需的所有類。 奇怪的是,我清楚地看到一些正在加載的類(com.documentum ...),但它仍然無法找到一個Factory類,與成功實例化的類相同的jar文件.. 我想它與通過另一個類加載器加載的Factory機制有關,或者類加載器在這個特定類的錯誤位置查找。它應該在搜索它在com.documentum.dfc模塊中,但似乎在org.jboss.as.jmx中搜索:mainJboss 6.4EAP ClassNotFoundException from [Module「org.jboss.as.jmx:main」from local module loader @ 44f218(finder:local module finder
任何想法這裏怎麼回事?我的耳朵的
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
結構:
-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>