替代dfc.properties

Pra*_*gde 3 documentum documentum-dfs

我们从Java progream(使用dfc.jar)连接到documentum服务器来提取文档.为了连接到服务器,它要求我们在类路径中提供dfc.properties.我们已经有一个主属性文件,所以要避免再有一个.相反,我们希望将属性放在其他属性文件中,然后在连接到documentum服务器时使用它们.我可以找到如何使用来自Java代码的docbroker主机和端口,即使用IDfTypedObject.

IDfLoginInfo loginInfoObj = clientX.getLoginInfo();
loginInfoObj.setUser(user);
loginInfoObj.setPassword(pwd);

IDfClient client = new DfClient();

IDfTypedObject cfg = client.getClientConfig();
cfg.setString("primary_host", "myhost");
cfg.setInt("primary_port", myport);

IDfSession docbase_session = client.newSession(docbase, loginInfoObj);
Run Code Online (Sandbox Code Playgroud)

就像在代码中设置primary_host和primary_port一样,有没有办法设置代码,dfc.properties中的以下属性?dfc.globalregistry.repository dfc.globalregistry.username dfc.globalregistry.password

eiv*_*amu 5

DFC属性必须位于其自己的文件中.但是,此文件可以驻留在应用程序本身之外.

选项1:包括

在类路径的开头放置一个include语句dfc.properties指向外部配置,如下所示:

#include /path/to/external/dfc.properties
Run Code Online (Sandbox Code Playgroud)

您甚至可以通过在应用程序中包含多个文件和/或附加/覆盖来使用混合方法dfc.properties:

#include /path/to/common/dfc.properties
#include /path/to/more/specific/dfc.properties     # may or may not override
<app specific parameters go here>                  # may or may not override
Run Code Online (Sandbox Code Playgroud)

选项2:环境变量

环境变量 设置dfc.properties.file为指向外部dfc.properties.将您的appserver的启动更改为以下内容:

java ... –Ddfc.properties.file=/path/to/external/dfc.properties ...
Run Code Online (Sandbox Code Playgroud)

如果您正在使用Tomcat,则可以通过在OS本身上设置系统变量来完成此操作:

set JAVA_OPTS=–Ddfc.properties.file=/path/to/external/dfc.properties
Run Code Online (Sandbox Code Playgroud)

总结一下

我不建议在代码中设置DFC参数.最佳做法是在应用程序外部使用专用配置文件.请注意,您的执行环境(JVM)必须具有对文件系统的访问权限.这适用于上述两种替代方案.