我们从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
答案 0 :(得分:5)
DFC属性必须位于自己的文件中。但是, 这个文件可能位于应用程序本身之外。
在类路径中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
将环境变量 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文件中,否则将被忽略。