Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用CMIS从alfresco存储库获取100多条记录_Alfresco_Alfresco Share_Cmis_Alfresco Webscripts - Fatal编程技术网

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

如何使用CMIS从alfresco存储库获取100多条记录,alfresco,alfresco-share,cmis,alfresco-webscripts,Alfresco,Alfresco Share,Cmis,Alfresco Webscripts,我在CMIS中写了下面的查询 查询=从cmis:文档中选择* 但它只返回前100个结果。实际上,在存储库中有100多个结果 那么,如何使用相同的查询获得所有结果呢 我写了下面的CMIS代码- 代码= public ArrayList<JSONObject> search() { ItemIterable<QueryResult> results =null; StringBuilder sb=null; sb = new StringB

我在CMIS中写了下面的查询

查询=从cmis:文档中选择*

但它只返回前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;

}
请帮忙


提前感谢。

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

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

请同时查看此线程:

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

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

另请参阅此帖子:

您能提供您正在使用的代码吗?@Florinan Muller为什么要查看代码。我不这么认为,代码是必需的。我已经提供了这个问题。如果我们在Alfresco共享节点浏览器中执行相同的查询,我们也会得到前100个结果。所以请检查一下。谢谢…………您如何称呼该查询可能至关重要。例如,如果您使用的是OpenCMIS,并且没有提供自己的OperationContext,它将获得100次点击的批处理。好的,等等。我将修改文件question@Florian穆勒,我修改了这个问题。如果我做错了什么,请告诉我……你能提供你正在使用的代码吗?@Florinan Muller为什么你想查看代码。我不这么认为,代码是必需的。我已经提供了这个问题。如果我们在Alfresco共享节点浏览器中执行相同的查询,我们也会得到前100个结果。所以请检查一下。谢谢…………您如何称呼该查询可能至关重要。例如,如果您使用的是OpenCMIS,并且没有提供自己的OperationContext,它将获得100次点击的批处理。好的,等等。我将修改文件question@Florian穆勒,我修改了这个问题。如果我做错了什么,请告诉我……谢谢Florian,它起作用了:谢谢Florian,它起作用了: