Das Zeitlimit für Sperren in einer BackingMap-Instanz wird verwendet, um sicherzustellen, dass eine Anwendung nicht endlos auf die Erteilung eines Sperrmodus wartet, weil eine Deadlock-Situation aufgrund eines Anwendungsfehlers eingetreten ist.
Wenn eine Ausnahme des Typs "LockTimeoutException" eintritt, muss die Anwendung feststellen, ob die Zeitlimitüberschreitung aufgetreten ist, weil die Anwendung langsamer als erwartet arbeitet oder weil eine Deadlock-Situation vorliegt. Wenn eine echte Deadlock-Situation eingetreten ist, kann die Ausnahme durch Erhöhen des Wartezeitlimits für Sperren nicht behoben werden. Das Erhöhen des Zeitlimits führt lediglich dazu, dass die Ausnahme später ausgelöst wird. Falls die Ausnahme jedoch durch Erhöhung des Wartezeitlimits für Sperren behoben werden können, ist das Problem darauf zurückzuführen, dass die Anwendung langsamer gearbeitet hat als erwartet. Die Anwendung muss in diesem Fall feststellen, warum die Leistung nicht den Erwartungen entspricht.
Zur Vermeidung von Deadlocks hat der Sperrenmanager ein Standardzeitlimit von 15 Sekunden. Bei Überschreitung des Zeitlimits wird eine Ausnahme des Typs "LockTimeoutException" ausgelöst. Wenn Ihr System unter hoher Last steht, kann das Standardzeitlimit zu Ausnahmen des Typs "LockTimeoutException" führen, wenn kein Deadlock vorliegt. In dieser Situation können Sie das Zeitlimit für Sperren über das Programm oder in der ObjectGrid-XML-Deskriptordatei erhöhen.