如何确定使用Hazelcast Imap锁定哪些密钥

时间:2016-05-04 05:41:15

标签: hazelcast

我正在使用Hazelcast Imap界面以分布式方式锁定项目。而不是将项目放在地图中我只是调用似乎正在工作的锁定方法但我不知道如何查询当前锁定的项目,因为项目是在地图中没有。有没有办法查询关于锁定密钥的hazelcast? 这是示例代码:     public void testMap_DistributedLock(){         final Config hazelcastConfig = new Config();         int numberOfRecords = 100;

User

,输出为:

    final HazelcastInstance instance1 = Hazelcast.newHazelcastInstance(hazelcastConfig);
    //monitorCluster(instance1);

    IMap<Integer, Integer> myMap = instance1.getMap("myMap");
    System.err.println("starting lock");
    int index  = 0;
    while(index<numberOfRecords){
         myMap.lock(index++);
    }
    System.err.println("After locking index is: " +index);
    System.err.println("myMap.size()=" + myMap.size());
}

PS:将java7与Hazelcast 3.6一起使用

1 个答案:

答案 0 :(得分:2)

没有像IMap :: getLocks这样的API,但您可以使用IMap :: isLocked迭代所有已知锁,并收集仍被锁定的键。如果你真的想要一些getLocks方法,请继续在github上提交一个功能请求。