Ich benutze Hazelcast Imap-Schnittstelle, um Elemente auf eine verteilte Weise zu sperren. Statt Element in Karte zu setzen, rufe ich nur Lock-Methode, die funktionieren scheinen, aber ich weiß es nicht Wie kann man abfragen, welche Objekte derzeit gesperrt sind, da Elemente in der Map nicht verfügbar sind. Gibt es eine Möglichkeit, Haselpile über gesperrte Schlüssel abzufragen? Hier ist der Beispielcode: public void testMap_DistributedLock() { final Config hazelcastConfig = new Config(); int NummerOfRecords = 100;So ermitteln Sie, welche Schlüssel gesperrt sind Sperre mit Hazelcast Imap
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());
}
und Ausgabe lautet:
starting lock
After locking index is: 100
myMap.size()=0
PS: Mit Java7 mit Hazelcast 3.6