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

问题描述 投票:3回答:3

我们使用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参数不起作用。

请帮忙。

谢谢

java alfresco cmis
3个回答
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。

感谢大家的时间和帮助!



0
投票

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

session.getDefaultContext().setMaxItemsPerPage(1000);
session.query(queryStr); 
© www.soinside.com 2019 - 2024. All rights reserved.