Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确定使用Hazelcast Imap锁定的钥匙_Hazelcast - Fatal编程技术网

如何确定使用Hazelcast Imap锁定的钥匙

如何确定使用Hazelcast Imap锁定的钥匙,hazelcast,Hazelcast,我正在使用Hazelcast Imap接口以分布式方式锁定项目。我没有将项目放在地图中,而是调用lock方法,该方法似乎有效,但我不知道如何查询当前锁定的项目,因为地图中没有项目。是否有方法查询Hazelcast有关锁定的键? 下面是示例代码: public void testMap_DistributedLock(){ 最终配置hazelcastConfig=新配置(); int numberOfRecords=100 final HazelcastInstance instance1

我正在使用Hazelcast Imap接口以分布式方式锁定项目。我没有将项目放在地图中,而是调用lock方法,该方法似乎有效,但我不知道如何查询当前锁定的项目,因为地图中没有项目。是否有方法查询Hazelcast有关锁定的键? 下面是示例代码: public void testMap_DistributedLock(){ 最终配置hazelcastConfig=新配置(); int numberOfRecords=100

    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一起使用没有像IMap::getLocks这样的API,但是您可以使用IMap::isLocked迭代所有已知的锁,并收集仍然被锁定的密钥。如果您确实需要一些getLocks方法,请继续在github上提交功能请求

starting lock
After locking index is: 100
myMap.size()=0