我必须调用一种方法,在一次检查中只能验证最多 100 个 Resource.Class 类型的元素。
系统中可以有很多这样的元素(也可以超过 10,000 个),并且系统中没有关于 Resource.Class 的此类元素的最大数量的信息。唯一的限制是我在一次检查运行中最多可以使用 100 个此类元素,并且必须检查所有现有 Resource.Class 元素的条件。我在下面的代码片段中使用了 pageSize 作为 100。
尝试使用 setPageRequest 进行一些查询,以在一次运行中检索包含 100 个元素的页面,但此类可能页面的最大数量不固定。
Filter filter = Filters.in("usedBy", "policy");
Query query = new Query.Builder().setPageRequest(1, pageSize).setFilter(filter).build();
Page <Resource.Class> pg = service.getPageByQuery(securityContext, query);
doCheck(pg); // perform check operation on each such obtained page
有两个问题:
系统中有一个查询可以检索Resource类类型的所有元素,但这会减慢API的速度,并且还会破坏大量的响应,因此不允许使用它。我必须一次只对 100 个元素执行检查操作。
您可以从
Page
获取元素总数。