替代dfc.properties

时间:2014-11-14 11:34:05

标签: 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);

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

3 个答案:

答案 0 :(得分:5)

DFC属性必须位于自己的文件中。但是, 这个文件可能位于应用程序本身之外。

选项1:包括

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

#include /path/to/external/dfc.properties

您甚至可以通过在应用的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

选项2:环境变量

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

java ... –Ddfc.properties.file=/path/to/external/dfc.properties ...

如果您正在使用Tomcat,可以通过在操作系统上设置系统变量来实现:

set JAVA_OPTS=–Ddfc.properties.file=/path/to/external/dfc.properties

总结

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

答案 1 :(得分:0)

尽管您需要拥有全局注册表的连接信息,但您并不需要将这些详细信息更正确。当然除非你想使用BOF(TBO / SBO)功能。

在您的情况下,如果您不需要它(BOF),只需将dfc.properties保留在全局注册表的虚拟数据中,并继续使用代码动态设置docbroker连接详细信息。

答案 2 :(得分:0)

添加如果使用类路径定义主dfc.properties的位置,则dfc.properties文件需要位于jar或zip文件中,否则将被忽略。