我们从Java连接到documentum服务器(使用dfc.jar)来提取文档。为了连接到服务器,它要求我们使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
发布于 2014-11-14 14:37:09
尽管您需要具有全局注册表的连接信息,但实际上不需要将这些细节更正。当然,除非您想使用BOF (TBO/SBO)功能。
在您的情况下,如果您不需要它(BOF),只需将dfc.properties与全局注册表的虚拟数据放在一起,并继续使用代码动态设置docbroker连接详细信息。
发布于 2014-11-14 14:47:00
DFC属性必须在自己的文件中。但是,该文件可以驻留在应用程序本身之外。
备选案文1:包括
在类路径中的dfc.properties开头放置一个包含语句,指向外部配置,如下所示:
#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。将应用服务器的启动更改为如下所示:
java ... –Ddfc.properties.file=/path/to/external/dfc.properties ...如果使用Tomcat,可以通过在操作系统本身上设置系统变量来做到这一点:
set JAVA_OPTS=–Ddfc.properties.file=/path/to/external/dfc.properties总结
我不建议在代码中设置DFC参数。最佳做法是在应用程序外部有一个专用的配置文件。请注意,您的执行环境(JVM)必须在必要时访问文件系统。这适用于上述两种备选方案。
发布于 2017-05-30 09:37:46
补充一下,如果使用类路径来定义主dfc.properties的位置,那么dfc.properties文件需要位于jar或zip文件中,否则将被忽略。
https://stackoverflow.com/questions/26929066
复制相似问题