我在下面写了CMIS中的查询。
查询= select * from cmis:document
但是它只返回前100个结果。实际上在Repository中有超过100个结果。
那么我怎么能得到所有的结果使用相同的查询?
我在CMIS代码下面写——
代码= public ArrayList<JSONObject> search() {
ItemIterable<QueryResult> results =null;
StringBuilder sb=null;
sb = new StringBuilder();
sb.append("select * from hr:hrdoctype");
CMISSession1 s=new CMISSession1();
Session session=s.getSession();
// execute query
results = session.query(sb.toString(), false);
ArrayList<JSONObject> list=new ArrayList<>();
for (QueryResult qr : results) {
GregorianCalendar gc = (GregorianCalendar) qr.getPropertyValueById("cmis:creationDate");
try{
int month = gc.getTime().getMonth();
-
-
-
}
catch(org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException e)
{
}
}
-------------
list.add(json);
}
return list;
}
请帮助。
从OpenCMIS的角度来看,这看起来不错。但是,出于性能原因,您应该更改批处理大小:
OperationContext oc = session.createOperationContext();
oc.setMaxItemsPerPage(10000); // batch size, default = 100
results = session.query(sb.toString(), false, oc);
请参阅此线程:https://community.alfresco.com/thread/206836-alfresco-cmis-query-returning-only-100-results