Version 2

    Recently we began moving our application from OC4J to JBoss 7, which so far has been a bit of adventure.  Thanks to the help of the kind folks in this Community I was able to overcome one of the most tricky issues - getting EMC Documentum DFC to work.  As far as I've seen, the documentation provided from EMC does not cover DFC with JBoss 7.  Ok, so here is the trick!

     

     

    Create a new DFC module

     

    Create a new folder structure under {jboss.home}/modules/

         /com/documentum/main

     

    Create a module.xml in this folder with the following:

     

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="com.documentum">
      <resources>
              <resource-root path="All-MB.jar"/>
              <resource-root path="DmcRecords.jar"/>
              <resource-root path="aspectjrt.jar"/>
              <resource-root path="bpmutil.jar"/>
              <resource-root path="certjFIPS.jar"/> 
              <resource-root path="ci.jar"/>
              <resource-root path="collaboration.jar"/>
              <resource-root path="configservice-api.jar"/>
              <resource-root path="configservice-impl.jar"/>
              <resource-root path="dfc.jar"/>
              <resource-root path="dms-client-api.jar"/>
              <resource-root path="jcifs-krb5-1.3.1.jar"/>
              <resource-root path="jsafeFIPS.jar"/>
              <resource-root path="krbutil.jar"/>
              <resource-root path="messageArchive.jar"/>
              <resource-root path="messageService.jar"/>
              <resource-root path="subscription.jar"/>
              <resource-root path="workflow.jar"/>
              <resource-root path="xtrim-api.jar"/> 
              <resource-root path="xtrim-server.jar"/>
      </resources>
      <dependencies>
                <module name="org.apache.log4j"/>
                <module name="javax.transaction.api"/>
              <module name="javax.xml.bind.api" />
              <module name="javax.ws.rs.api" />
              <module name="javax.inject.api" />
              <module name="javax.xml.stream.api" />
              <module name="org.apache.commons.lang" />
              <module name="org.apache.commons.codec" />
              <module name="javax.activation.api" />
              <module name="javax.api"/>
      </dependencies>
    </module>
    
    

    * Please note the JAR files that have been commented out.  These are provided by other modules by including the dependencies.

     

     

    Where to put dfc.properties

    You should be able to include your dfc.properties in the WEB-INF/classes folder, but for us this wasn't the preferred method.  We like to keep our dfc.properties outside of our WAR or EAR file.  This allows us to have one build that can work in development, test and production without change.  Additionally we keep our log4j.properties and a few other environment-specific files outside of our WAR.  I followed this article: How to put an external file in the classpath to create my own settings module.

     

     

     

     

    jboss-deployment-structure.xml

    Finally, add dependencies to your jboss-deployment-structure.xml file, pointing to your documentum and settings module.

     

    <?xml version="1.0" encoding="UTF-8"?>
    <jboss-deployment-structure>
      <deployment>
        <dependencies>
          <module name="com.bananaco.settings" />
          <module name="com.documentum" />
        </dependencies>
      </deployment>
    </jboss-deployment-structure>
    
    

     

     

    Thanks to Stephen Coy for providing so much help to me and this community.

     

    Here is the original forum thread.

    Need help with ClassNotFoundException (EMC/Documentum - modules?)