将CMIS结果限制从100增加到1000

时间:2018-01-12 15:49:48

标签: java alfresco cmis

我们使用 Alfresco 作为存储库并使用 Apache CMIS api 查询它。

我们使用以下代码连接它。

parameter.put(SessionParameter.ATOMPUB_URL, "http://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atom?maxItems=1000");

查询露天......

OperationContext opCon = session.createOperationContext();
opCon.setLoadSecondaryTypeProperties(true);
opCon.setMaxItemsPerPage(1000);
session.query(queryStr); 

但CMIS总是只返回100条记录。但是当我使用独立的 CMIS工作台程序并将上述URL连接到具有 maxItems = 1000 的Alfresco时,它会返回 1000 记录。

使用我的JAVA CMIS API时, maxItems 参数无效。

请帮忙。

谢谢

3 个答案:

答案 0 :(得分:5)

我开始工作了......

在向Alfresco查询时,我没有在设置页面大小的地方传递OperationContext。

OperationContext opCon = session.createOperationContext();
opCon.setLoadSecondaryTypeProperties(true);
opCon.setMaxItemsPerPage(1000);
session.query(queryStr, false);  // wrong....
session.query(queryStr, false, opCon);  // right

现在当我迭代到 ItemIterable 时,我得到的结果超过了100。

感谢大家的时间和帮助!

答案 1 :(得分:1)

答案 2 :(得分:0)

您可以使用默认上下文配置会话,而不是创建新的操作上下文。以下将按预期工作。

session.getDefaultContext().setMaxItemsPerPage(1000);
session.query(queryStr);