获取 hazelcast 集群中的所有 PN 计数器
Get all PN Counters in a hazelcast cluster
我想在 Hazelcast 上使用 PN 计数器来维护库存编号以便快速查找,但同时我也想不时地清除它们并将它们重新加载为“正确”。
Hazelcast 允许通过分配名称访问 PN 计数器,但是进程无法清除集群中的所有 PN 计数器,因为似乎没有客户端 API 来获取所有 PN 计数器的列表集群。
如何清除集群中的所有 PN 计数器并重新开始?
你可以利用getDistributedObjects API,过滤PNCounter并销毁它们。
HazelcastInstance client = HazelcastClient.newHazelcastClient();
client.getDistributedObjects()
.stream()
.filter(distributedObject -> distributedObject instanceof PNCounter)
.forEach(DistributedObject::destroy);
正如链接 API 的文档所建议的,分布式对象列表是在尽力而为的基础上返回的,但它在大多数情况下应该工作得很好。
我想在 Hazelcast 上使用 PN 计数器来维护库存编号以便快速查找,但同时我也想不时地清除它们并将它们重新加载为“正确”。 Hazelcast 允许通过分配名称访问 PN 计数器,但是进程无法清除集群中的所有 PN 计数器,因为似乎没有客户端 API 来获取所有 PN 计数器的列表集群。
如何清除集群中的所有 PN 计数器并重新开始?
你可以利用getDistributedObjects API,过滤PNCounter并销毁它们。
HazelcastInstance client = HazelcastClient.newHazelcastClient();
client.getDistributedObjects()
.stream()
.filter(distributedObject -> distributedObject instanceof PNCounter)
.forEach(DistributedObject::destroy);
正如链接 API 的文档所建议的,分布式对象列表是在尽力而为的基础上返回的,但它在大多数情况下应该工作得很好。