Corda Vault查询超过默认页面大小

Corda Vault查询超过默认页面大小,corda,Corda,我一直在我的简单CordApp上运行一些负载测试,现在当我执行vault查询以检查事务列表时,我在日志中得到一个异常:net.corda.core.node.services.VaultQueryException:请指定一个PageSpecification,因为结果[201]比默认页面大小[200]多。似乎没有为分页传递参数的选项。我需要过滤结果吗?这不会影响例外的原因。推荐的做法是什么?请参阅此处的文档 最大页面大小 val pagingSpec = PageSpecification(D

我一直在我的简单CordApp上运行一些负载测试,现在当我执行vault查询以检查事务列表时,我在日志中得到一个异常:net.corda.core.node.services.VaultQueryException:请指定一个
PageSpecification
,因为结果[201]比默认页面大小[200]多。似乎没有为分页传递参数的选项。我需要过滤结果吗?这不会影响例外的原因。推荐的做法是什么?

请参阅此处的文档

最大页面大小

val pagingSpec = PageSpecification(DEFAULT_PAGE_NUM, MAX_PAGE_SIZE)
val criteria = VaultQueryCriteria(status = Vault.StateStatus.ALL)
val results = vaultService.queryBy<ContractState>(criteria, paging = pagingSpec)
val pagingSpec=PageSpecification(默认页面数,最大页面大小)
val标准=Vault QueryCriteria(状态=Vault.StateStatus.ALL)
val results=vaultService.queryBy(条件,分页=pagingSpec)
循环浏览每一页

var pageNumber = DEFAULT_PAGE_NUM
val states = mutableListOf<StateAndRef<ContractState>>()
do {
    val pageSpec = PageSpecification(pageNumber = pageNumber, pageSize = pageSize)
    val results = vaultService.queryBy<ContractState>(VaultQueryCriteria(), pageSpec)
    states.addAll(results.states)
    pageNumber++
} while ((pageSpec.pageSize * (pageNumber - 1)) <= results.totalStatesAvailable)
var pageNumber=DEFAULT\u PAGE\u NUM
val states=mutableListOf()
做{
val pageSpec=PAGESPECT(pageNumber=pageNumber,pageSize=pageSize)
val results=vaultService.queryBy(VaultQueryCriteria(),pageSpec)
states.addAll(results.states)
页码++
}而((pageSpec.pageSize*(pageNumber-1))