如何使用 CMIS 从露天存储库中获取超过 100 条记录

How to get more than 100 records from alfresco repository using CMIS

我在CMIS下面写了查询。

查询= select * 来自cmis:document

但它 returns 只有前 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