ines_jaehnichen
I'm new here

FS5 Update doTransition wirft LockException

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

9 Replies
rednoss
I'm new here

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

0 Kudos

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");

}

0 Kudos

Hallo Ines,

die Ursache scheint nicht in diesem Skript zu liegen. Gibt es in dem Arbeitsablauf noch weitere Skripte, die davor ausgeführt werden?

0 Kudos

Nein, gibt es nicht.

0 Kudos

Hallo Rene,  besteht die Möglichkeit, dass das lesen der History in irgendeiner Weise den Lock verursacht?  Viele Grüße Jörn

0 Kudos
marza
I'm new here

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

0 Kudos
pavone
I'm new here

Hallo Ines,

ggf. solltet ihr einfach mal den Workflow mit der aktuellen Version 5.2.102 testen.

Gruß

Tim

0 Kudos

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

0 Kudos

Der Helpdesk konnte eine Lösung bieten. Es wird im Skript nun vor doTransition die Funktion setLock aufgerufen.

VG, Ines

0 Kudos