Search the FirstSpirit Knowledge Base
Hallo,
nach dem Update auf FS5.2_BETA.32.68448 tritt bei einem Aufruf von doTransition nun eine LockException auf. Das Szenario ist wie folgt: Redakteur1 erfragt eine Freigabe bei Redakteur2. Will Redakteur2 nun die Freigabe erteilen, kommt die Fehlermeldung, dass das freizugebende Element nicht gesperrt werden könne, da es bereits von Redakteur2(cms-013 im Logfile) gesperrt sei. Gab es Änderungen bezüglich dieser Funktion mit dem Update?
Im Anhang findet sich die Logausgabe.
VG, Ines
Hallo Ines,
es scheint, dass die Methode lock() zwei mal aufgerufen wird.
Wird das Szenario mit einem Skript umgesetzt? Bitte poste die entsprechenden Code-Zeilen für einen genaueren Blick.
Viele Grüße
Rene
Genau, es handelt sich um ein Script, das in einem Arbeitsablauf verwendet wird.
//!Beanshell
import de.espirit.firstspirit.common.gui.CMSDialog;
requester = context.getTask().getHistory().get(0).getCreator();
releaser = context.getUser();
context.logInfo("Requester: " + requester.toString());
context.logInfo("Releaser: " + releaser.toString());
if (requester.getId() == releaser.getId()) {
context.logInfo("Requester and Releaser are one person!");
CMSDialog.showInfoDialog("'Freigabe anfordern' und 'Freigabe' dürfen nicht vom selben Redakteur durchgeführt werden!");
context.doTransition("four_eyes_fail");
} else {
context.logInfo("Requester and Releaser are different!");
context.doTransition("four_eyes_okay");
}
Hallo Ines,
die Ursache scheint nicht in diesem Skript zu liegen. Gibt es in dem Arbeitsablauf noch weitere Skripte, die davor ausgeführt werden?
Nein, gibt es nicht.
Hallo Rene, besteht die Möglichkeit, dass das lesen der History in irgendeiner Weise den Lock verursacht? Viele Grüße Jörn
Hallo Ines,
kannst Du ausschließen, dass zur gleichen Zeit ein anderer Benutzer im SiteArchitect das fragliche Element auf dem der Workflow zugreifen will, gelockt wurde?
In Deiner Exception findet sich diese Zeile, die ganu das bedeuten könnte:
Caused by: de.espirit.firstspirit.access.store.LockException: Element 1160974 is already locked by another session
Gruß Marian
Hallo Ines,
ggf. solltet ihr einfach mal den Workflow mit der aktuellen Version 5.2.102 testen.
Gruß
Tim
Hallo Ines,
ist dieses Posting noch aktuell? Benötigst du noch weitere Hilfe oder haben dir die gegebenen Antworten bereits geholfen? In diesem Fall wäre es super, wenn du die "richtige Antwort" entsprechend markierst.
Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es toll, wenn du sie hier bereitstellst.
Viele Grüße
Michaela
Der Helpdesk konnte eine Lösung bieten. Es wird im Skript nun vor doTransition die Funktion setLock aufgerufen.
VG, Ines