我有多个使用相同HazelcastInstance的junit测试。

我有一个@After方法来删除所有地图,手动逐一列出。

有没有一种方法可以重置HazelcastInstance中的数据,包括IMap,ReplicatedMap和IList,以便我只能打一个电话来重置缓存?

这是我现在正在做的事情:

@After
public void afterEachTest() {
    hazelcastInstance.getReplicatedMap(MAP_NAME_A).clear();
    hazelcastInstance.getReplicatedMap(MAP_NAME_B).clear();
    hazelcastInstance.getReplicatedMap(MAP_NAME_C).clear();
    hazelcastInstance.getMap(MAP_NAME_D).clear();
    hazelcastInstance.getList(MAP_NAME_E).clear();
}


提前致谢!

最佳答案

那可能会满足您的需求。

            hazelcast.getDistributedObjects()
                     .forEach(distributedObject -> distributedObject.destroy());


此外,如果您已经有对分布式对象的引用,则仍可以使用它们而无需重新初始化,例如plicatedMap = hazelcastInstance.getReplicatedMap(MAP_NAME_A)

10-04 19:10