我们使用 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 参数无效。
请帮忙。
谢谢
答案 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);