2017-06-07 112 views
0

我正在將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> 

回答

0

爲了使用TIBCO EMS隊列/主題的Jboss,我們需要配置和在jboss中部署通用JMS資源適配器。按照下面的步驟,以在JBOSS7或JBoss應用EAP 6.4配置JMS資源適配器:

  • 第一步:創建JBoss安裝目錄\模塊下列文件夾結構\ COM \ TIBCO \ tibjms \主 複製tibjms.jar和tibcrypt.jar到\模塊\ COM \ TIBCO \ tibjms \主要和 具有以下內容創建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 \模塊\ SYSTEM \層\ base \ org \ jboss \ jts \ main \ module.xml和\ jboss-eap-6.4 \ modules \ system \ layers \ base \ org \ jboss \ as \ ee \ main \ module.xml add following ndency在這兩個位置

    <dependencies>       
        <module name="com.tibco.tibjms"/>  
    </dependencies> 
    
  • 第三步:打開standalone_XXX.xml(而且,任何文件UR使用)(\獨立\配置\ standalone.xml)和

    <mdb> 
        <resource-adapter-ref resource-adapter-name="genericra.rar"/>    
        <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>  
    </mdb> 
    
  • 加上下面幾行第4步:重新啓動服務器並查看是否已解決異常。通過上述步驟,我的問題得到解決。祝一切順利。

相關問題