Как получить более 100 записей из репозитория alfresco с помощью CMIS

Ниже я написал Query в CMIS.

Запрос= выберите * из 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;

}

Пожалуйста помоги.

Заранее спасибо.


person Deepak Talape    schedule 14.10.2016    source источник
comment
Можете ли вы предоставить код, который вы используете?   -  person Florian Müller    schedule 14.10.2016
comment
@Florinan Muller Почему вы хотите увидеть код. Я не думаю, что код требуется. я предоставил запрос. И если мы выполним тот же запрос в браузере общих узлов Alfresco, мы также получим первые 100 результатов. поэтому, пожалуйста, проверьте это один раз. Спасибо..........   -  person Deepak Talape    schedule 14.10.2016
comment
Как вы называете запрос может быть важным. Например, если вы используете OpenCMIS и не предоставляете свой собственный OperationContext, он получит пакеты из 100 обращений.   -  person Florian Müller    schedule 14.10.2016
comment
Хорошо, подождите. Я изменю вопрос   -  person Deepak Talape    schedule 14.10.2016
comment
@ Флориан Мюллер, я изменил вопрос. Пожалуйста, дайте мне знать, если я делаю что-то не так....   -  person Deepak Talape    schedule 14.10.2016


Ответы (1)


С точки зрения 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

person Florian Müller    schedule 14.10.2016
comment
Спасибо, Флориан, все работает :) - person Deepak Talape; 14.10.2016