3

我正在使用 IBM FileNet CE API 5.1 并面临性能问题,因为循环中的额外刷新具有很大的迭代量(25000+)。这是代码示例:

for (Document document : documents) {
       ObjectStore objectStore = document.getObjectStore();
       objectStore.refresh(); //round-trip
       String symbolicName = objectStore.get_SymbolicName();

       ...
 }

问题是,刷新之前的 objectStore 对象根本没有任何缓存属性,甚至对象标识(如果我有我可以创建对象存储缓存以避免在每次迭代中刷新)。

文档可能有不同的对象存储(我正在搜索多个对象存储)。

4

2 回答 2

5

您可以从对象引用中获取对象存储的 id:

document.getObjectReference().getObjectStoreIdentity()
于 2013-08-19T14:23:06.363 回答
0

有一种方法可以通过 EngineObjectImpl.getObjectStoreReference() 获取对象存储 ID:

GlobalIdentity objectStoreReference = ((EngineObjectImpl)object).getObjectStoreReference();
Id objectId = objectStoreReference.getObjectId();
于 2013-08-14T07:43:03.580 回答