我正在尝试使用dfc创建一个动态应用程序,我想在其中获取服务器上存在的所有存储库名称。
例如,如果有3个存储库,即r1,r2和r3。如何获取程序中的名称?
您必须要求docbroker获取已知的docbases列表。有关此信息,请参阅DFC文档。您还可以获取每个文档库的服务器名称,但如果要使用DFC,则无法查询文档管理器。请注意,docbases可以驻留在除docbroker之外的其他服务器上。
您可以部署Documentum Restful服务,并在Restful DFC属性文件中将服务器名称指定为主机,它将在以下URL上为您提供XMl / JSON响应 -
XMl响应 - URL / DctmRest /存储库
JSON响应 - URL / DctmRest / repositories.json
在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")