Hello,

CLIENT SIDE
Everybody has already been confronted with problem of localization of log4j.properties or dfc.properties files used on runtime. The DFC configuration files like log4j.properties and dfc.properties are located through the classpath found in WAR files and EAR files. More, for information, there are several possibilities to point to dfc.properties file:

  • Include Statement
    A dfc.properties can contain an include statement pointing at the external configuration:
    #include d:/projects/javalu/config/dfc.properties:

    It is also possible to use hybrid approaches by including several files and/or appending/overwriting the parameters in application’s dfc.properties:
    #include d:/projects/javalu/config/common/dfc.properties
    #include d:/projects/javalu/config/specific/dfc.properties # may or may not override
    # may or may not override

     
  • Set the system property in code
    // Set dfc.properties file
    System.setProperty("dfc.properties.file","d:/projects/javalu/config/dfc.properties");
    
    // Create client object
    IDfClient client = DfClient.getLocalClient(); // new DfClient();
    // ...
    

     

  • Set the system property in the command line (or in VM arguments in IDE Eclipse)
    C:\>java -classpath "..." –Ddfc.properties.file=d:/projects/javalu/config/dfc.properties ...
    

     

  • Set the system property in Application Server Configuration
    For Tomcat, the configuration file is catalina.bat:

    ...
    rem ============= ADD MEMORY
    SET JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=128m
    ...
    rem ============= SET DFC DIAGNOSTIC
    SET JAVA_OPTS=%JAVA_OPTS% –Ddfc.properties.file=d:/projects/javalu/config/dfc.properties 
    

     

So, there is a simple way to find out what configuration files are used in DFC CLIENT application : set Java system property dfc.diagnose_config to true in order to print out the file paths of log4j, dfc, and dbor configuration files to the standard output stream like the following:

Reading DFC configuration from "file:/D:/Documentum/config/dfc.properties"
Reading log4j configuration from "file:/D:/Documentum/config/log4j.properties"
Reading dbor configuration from "file:/D:/Documentum/config/dbor.properties" 

or

Reading DFC configuration from "file:/opt/dctm/product/7.1/dfc_shared/config/dfc.properties"
Reading log4j configuration from "file://opt/dctm/product/7.1/dfc_shared/config/log4j.properties"
Reading dbor configuration from "file://opt/dctm/product/7.1/dfc_shared/config/dbor.properties" 

 
There are several ways to set the Java system property:

  • Set the system property in code
    // Set the diagnostic mode
    System.setProperty("dfc.diagnose_config","true");
    
    // Create client object
    IDfClient client = DfClient.getLocalClient(); // new DfClient();
    // ...
    

     

  • Set the system property in the command line (or in VM arguments in IDE Eclipse)
    This system property must be added to the command line of during DFC invocation:

    C:\>java -classpath "..." -Ddfc.diagnose_config=true 
    

     

  • Set the system property in Application Server Configuration
    For Tomcat, this file is catalina.bat:

    ...
    rem ============= ADD MEMORY
    SET JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=128m
    ...
    rem ============= SET DFC DIAGNOSTIC
    SET JAVA_OPTS=%JAVA_OPTS% -Ddfc.diagnose_config=true 
    

     

 
 
SERVER SIDE
On server side, there is also dfc.properties for example in Java Server Method (JMS):

  • UNIX : /opt/dctm/product/7.1/dfc_shared/jboss7.1.1/server/
    DctmServer_MethodServer/deployments/ServerApps.ear/APP-INF/classes
  • WINDOWS : D:\Documentum\jboss7.1.1\server\
    DctmServer_MethodServer\deployments\ServerApps.ear\APP-INF\classes


 
…this dfc.properties contains an include statement pointing at the external configuration:
#include /opt/dctm/product/7.1/dfc_shared/config/dfc.properties

 
… the pointed dfc.properties in /opt/dctm/product/7.1/dfc_shared/config/dfc.properties contains the parameters:

dfc.data.dir=/opt/dctm/product/7.1/dfc_shared
dfc.tokenstorage.dir=/opt/dctm/product/7.1/dfc_shared/apptoken
dfc.tokenstorage.enable=false
dfc.session.secure_connect_default=try_native_first


dfc.docbroker.host[0]=hosta
dfc.docbroker.port[0]=1489
dfc.docbroker.host[1]=hostb
dfc.docbroker.port[1]=1489
dfc.docbroker.host[2]=hostc
dfc.docbroker.port[2]=1489
dfc.docbroker.host[3]=hostd
dfc.docbroker.port[3]=1489

dfc.globalregistry.repository=GLOBALR
dfc.globalregistry.username=dm_bof_registry
dfc.globalregistry.password=13x.....A\=\=

dfc.docbroker.search_order=random

 
 

That’s all!!!

Huseyin OZVEREN