我正在尝试使用 dfc 制作一个动态应用程序,我想在其中获取服务器上存在的所有存储库名称。
例如,如果有 3 个存储库,即 r1、r2 和 r3。如何获取程序中的名称?
我正在尝试使用 dfc 制作一个动态应用程序,我想在其中获取服务器上存在的所有存储库名称。
例如,如果有 3 个存储库,即 r1、r2 和 r3。如何获取程序中的名称?
您必须要求 docbroker 获取已知的 docbases 列表。有关这方面的信息,请参阅 DFC 文档。您还可以获取每个 docbase 的服务器名称,但如果您想使用 DFC,则无法查询 docbrokers。请注意,文档库可以驻留在 docbroker 以外的其他服务器上。
在 DFC 中,您可以获得存储库列表,如下所示:
IDfDocbaseMap docbaseMap = DfClient.getLocalClient().getDocbaseMap();
for (int i = 0; i < docbaseMap.getDocbaseCount(); i++) {
processRepository(docbaseMap.getDocbaseId(i),
docbaseMap.getDocbaseName(i);
docbaseMap.getDocbaseDescription(i));
}
但它是注册到 Docbroker 的存储库列表,每个存储库可以在不同的服务器上运行。
恐怕如果没有与每个存储库的会话,您将无法按服务器过滤它们。使用会话,您可以通过以下方式执行此操作:
((StrongSessionHandle) session).getDocbaseConnection().getServer().getName()
或者
session.getServerConfig().getString("object_name")
您可以部署 Documentum Restful 服务,并在 Restful DFC 属性文件中将服务器名称指定为主机,它将在以下 URL 上为您提供 XMl/JSON 响应 -
XMl 响应 - URL/DctmRest/repositories
JSON 响应 - URL/DctmRest/repositories.json