通过查询删除infinispan嵌入式缓存中的条目

问题描述 投票:0回答:1

我正在尝试删除一堆类似于以下代码片段的条目。

    var query = "delete from package.Entity where field = :value";
    var count = cache.query(query)
        .setParameter("value", value)
        //.maxResults(total) --> throws org.infinispan.commons.CacheException: ISPN014057: DELETE statements cannot use paging (firstResult/maxResults)
        .executeStatement();

但是,最多删除 100 条。我知道

query.default-max-results
默认为 100,因此我尝试将查询的
maxResults
设置为应删除的条目数,因为代码会跟踪该数字。但
maxResults
不允许用于删除语句,从而导致 CacheException。然而,将缓存的
query.default-max-results
更改为 200 会导致删除 200 个条目。

如何执行这条语句并保证所有满足查询的条目都被删除而不改变

query.default-max-results

infinispan
1个回答
0
投票

这可能是一个错误,我打开了https://issues.redhat.com/browse/ISPN-16808

© www.soinside.com 2019 - 2024. All rights reserved.