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