我正在使用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对象根本没有任何缓存属性,甚至是对象标识(如果我有,我可以创建对象存储缓存以避免在每次迭代中刷新)。
文档可能有不同的对象库(我正在搜索多个对象库)。
答案 0 :(得分:3)
您可以从对象引用中获取对象存储的id:
document.getObjectReference().getObjectStoreIdentity()
答案 1 :(得分:0)
有一种方法可以通过EngineObjectImpl.getObjectStoreReference()获取对象库ID:
GlobalIdentity objectStoreReference = ((EngineObjectImpl)object).getObjectStoreReference();
Id objectId = objectStoreReference.getObjectId();