Need help with ClassNotFoundException (EMC/Documentum - modules?)
johnson_shawn Oct 11, 2012 7:36 PMI'm moving to JBoss 7 from another app server, and I've worked through some issues, but having some trouble working out this issue. We use EMC Documentum - DFC. Currently I have all of the jar files in WEB-INF/lib, which works fine on JBoss 5.1 as well as OC4J. I've tried various things, including creating a module: com.documentum with all the dependent jars, and added that dependency to my jboss-deployment-structure.xml. It seems odd to me that I can't keep these libraries in WEB-INF/lib if they are only needed within the WAR?
19:18:50,087 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.web.deployment.default-host./MY_WAR" => "org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./MY_WAR: JBAS018040: Failed to start context"}}}}
19:18:54,627 ERROR [stderr] (Session pool worker) Exception in thread "Session pool worker" java.lang.NoClassDefFoundError: com/documentum/fc/client/content/impl/LocalContentManager
19:18:54,628 ERROR [stderr] (Session pool worker) at com.documentum.fc.client.impl.session.Session.disconnect(Session.java:245)
19:18:54,629 ERROR [stderr] (Session pool worker) at com.documentum.fc.client.impl.session.SessionPool.disconnectSessions(SessionPool.java:111)
19:18:54,635 ERROR [stderr] (Session pool worker) at com.documentum.fc.client.impl.session.SessionPool.flush(SessionPool.java:134)
19:18:54,636 ERROR [stderr] (Session pool worker) at com.documentum.fc.client.impl.session.SessionPool.flushAllPools(SessionPool.java:190)
19:18:54,636 ERROR [stderr] (Session pool worker) at com.documentum.fc.client.impl.session.SessionPool$ExpirationThread.run(SessionPool.java:246)
19:18:54,637 ERROR [stderr] (Session pool worker) Caused by: java.lang.ClassNotFoundException: com.documentum.fc.client.content.impl.LocalContentManager from [Module "deployment.MY_WAR.war:main" from Service Module Loader]
19:18:54,637 ERROR [stderr] (Session pool worker) at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
19:18:54,638 ERROR [stderr] (Session pool worker) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
19:18:54,638 ERROR [stderr] (Session pool worker) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
19:18:54,639 ERROR [stderr] (Session pool worker) at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423)
19:18:54,639 ERROR [stderr] (Session pool worker) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
19:18:54,640 ERROR [stderr] (Session pool worker) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
19:18:54,640 ERROR [stderr] (Session pool worker) ... 5 more
I also followed this: https://docs.jboss.org/author/display/AS71/Developer+Guide#DeveloperGuide-HowtofindtheJBossmoduledependency - but I'm not sure I was able to do anything with the dependency reports from tattletale.
com.documentum module
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.1" name="com.documentum"> <resources> <resource-root path="activation.jar"/> <resource-root path="All-MB.jar"/> <resource-root path="aspectjrt.jar"/> <resource-root path="certjFIPS.jar"/> <resource-root path="configservice-api.jar"/> <resource-root path="configservice-impl.jar"/> <resource-root path="dms-client-api.jar"/> <resource-root path="jaxb-api.jar"/> <resource-root path="jaxb-impl.jar"/> <resource-root path="jsafeFIPS.jar"/> <resource-root path="jsr173_api.jar"/> <resource-root path="log4j.jar"/> <resource-root path="xtrim-api.jar"/> <resource-root path="xtrim-server.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module>
jboss-deployment-structure.xml
<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure> <deployment> <dependencies> <module name="com.myapp.settings" /> <module name="com.documentum" /> </dependencies> </deployment> </jboss-deployment-structure>