Zunächst Guten Tag liebe Java-Cracks.
Meine Java-Anwendung arbeitet mit einer InnoDB Datenbank unter MySQL.
Der Sperrmodus läuft mittels FOR UPDATE auf Datensatzebene.
Wenn jetzt Person A einen Datensatz sperrt und Person B auf diesen Satz mittels FOR UPDATE zugreifen möchte wird ja die Ausnahme SQLException ausgelöst.
Läßt sich die Wartezeit bis zum Auslösen der Ausnahme (timeout?) einstellen? Am besten sogar auf NULL setzen, damit Person B, bzw. die Programmlogik sofort erfährt daß dieser Satz derzeit in Bearbeitung ist und nicht erst ein oder zwei Sekunden Wartezeit in Kauf nehmen muß?
Sofern ja - wo wird dieses "timeout" eingestellt?
In der my.cnf habe ich es bereits mit innodb_lock_wait_timeout=0 versucht, obwohl dieser Parameter vermutlich nicht für diesen Zweck gedacht ist....und wie erwartet - kein Erfolg.
Wär schön wenn mir jemand weiterhelfen könnte.
Herzliche Grüße
Jürgen
Meine Java-Anwendung arbeitet mit einer InnoDB Datenbank unter MySQL.
Der Sperrmodus läuft mittels FOR UPDATE auf Datensatzebene.
Wenn jetzt Person A einen Datensatz sperrt und Person B auf diesen Satz mittels FOR UPDATE zugreifen möchte wird ja die Ausnahme SQLException ausgelöst.
Läßt sich die Wartezeit bis zum Auslösen der Ausnahme (timeout?) einstellen? Am besten sogar auf NULL setzen, damit Person B, bzw. die Programmlogik sofort erfährt daß dieser Satz derzeit in Bearbeitung ist und nicht erst ein oder zwei Sekunden Wartezeit in Kauf nehmen muß?
Sofern ja - wo wird dieses "timeout" eingestellt?
In der my.cnf habe ich es bereits mit innodb_lock_wait_timeout=0 versucht, obwohl dieser Parameter vermutlich nicht für diesen Zweck gedacht ist....und wie erwartet - kein Erfolg.
Wär schön wenn mir jemand weiterhelfen könnte.
Herzliche Grüße
Jürgen