我想在Hazelcast上使用PN计数器来维护库存编号,以便快速查找,但同时我也想不时地清除它们,并将它们重新加载为“真正的up”。Hazelcast允许通过分配名称访问PN计数器,但进程无法清除群集中的所有PN计数器,因为似乎没有客户端API来获取群集中所有PN计数器的列表。
如何清除集群中的所有PN计数器并重新开始?
发布于 2021-08-01 08:38:37
您可以使用getDistributedObjects接口,过滤PNCounters并将其销毁。
HazelcastInstance client = HazelcastClient.newHazelcastClient();
client.getDistributedObjects()
.stream()
.filter(distributedObject -> distributedObject instanceof PNCounter)
.forEach(DistributedObject::destroy);
正如链接API的文档所建议的那样,分布式对象的列表是在尽力而为的基础上返回的,但它在大多数情况下应该工作得很好。
https://stackoverflow.com/questions/68611758
复制相似问题