如何使用CMIS从alfresco存储库中获取100多条记录

Dee*_*ape 1 alfresco cmis alfresco-share alfresco-webscripts

我在CMIS中写了下面的Query.

Query = select*from cmis:document

但它只返回前100个结果.实际上在存储库中有超过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;

}
Run Code Online (Sandbox Code Playgroud)

请帮忙.

提前致谢.

小智 5

从OpenCMIS的角度来看,看起来还不错.但是,出于性能原因,您应该更改批量大小:

OperationContext oc = session.createOperationContext();
oc.setMaxItemsPerPage(10000); // batch size, default = 100
results = session.query(sb.toString(), false, oc);
Run Code Online (Sandbox Code Playgroud)

请参阅此主题:https://community.alfresco.com/thread/206836-alfresco-cmis-query-returning-only-100-results