Sperrenmanager

Wenn Sie eine Sperrstrategie konfigurieren, wird zur Gewährleistung der Konsistenz von Cacheeinträgen ein Sperrenmanager für die BackingMap erstellt.

Konfiguration des Sperrenmanagers

Wenn Sie die Sperrstrategie PESSIMISTIC oder OPTIMISTIC verwenden, wird ein Sperrenmanager für die BackingMap erstellt. Der Sperrenmanager verwendet eine Hash-Tabelle, um die Einträge zu verfolgen, die von einer oder mehreren Transaktionen gesperrt werden. Wenn die Hash-Tabelle viele Map-Einträge enthält, kann durch die Verwendung weiterer Sperr-Buckets eine bessere Leistung erzielt werden. Das Risiko von Java-Synchronisationskollisionen sinkt mit zunehmender Anzahl an Buckets. Werden zusätzliche Buckets verwendet, sind auch mehr gemeinsame Zugriffe möglich. Die vorherigen Beispiele haben veranschaulicht, wie eine Anwendung die Anzahl der Sperr-Buckets für eine bestimmte BackingMap-Instanz festlegen kann.

Um zu verhindern, dass eine Ausnahme des Typs "java.lang.IllegalStateException" ausgelöst wird, muss die Methode "setNumberOfLockBuckets" vor dem Aufruf der Methode "initialize" bzw. "getSession" in der ObjectGrid-Instanz aufgerufen werden. Der Methodenparameter "setNumberOfLockBuckets" ist ein primitiver Java-Integer, der die Anzahl der zu verwendenden Sperr-Buckets angibt. Die Verwendung einer Primzahl gewährleistet eine gleichmäßige Verteilung der Map-Einträge auf die Sperr-Buckets. Ein guter Ausgangspunkt für das Erzielen der besten Leistung ist, die Anzahl der Sperr-Buckets auf ungefähr zehn Prozent der erwarteten Anzahl an BackingMap-Einträgen zu setzen.