Detail
Fehlerbehebung
Wichtig
Verbesserung
Im tl:RequestLock werden Request vom Client synchronisiert. Wenn ein Thread zu lange wartet, weil ein anderer Thread arbeitet, timed dieser aus und es werden die Argumente des Kommandos ins Log geschrieben.
Wünschenswert ist in diesem Fall aber auch, dass geloggt wird, welcher Thread so lange benötigt hat, dass andere Thread austimen.
Umsetzung
Wenn ein Writer das RequestLock verlässt wird im tl:AjaxServlet festgestellt ob ein timeout stattfand und in dem Fall das ausgeführte Kommando geloggt.
Test
Nur mit Debugging!
- Brechpunkt in TabBarControl$TabSwitch.execute(...) setzen.
- Tab wechseln.
- Erwartung: Die WaitPane wird angezeigt.
- Über F12 Tools die Klasse waiting von der WaitPane (Element mit id waitPane) entfernen.
- Erneut einen anderen Tab anklicken.
- Erwartung: Es gibt keinen zweiten Thread, der im Brechpunkt stehen bleibt..
- 60 sek warten.
- Erwartung: Es wird eine Meldung im Log angezeigt, dass der Request austimed.
- Thread im Brechpunkt weiterlaufen lassen.
- Erwartung: Es wird eine Meldung angezeigt, dass ein anderer Thread ausgetimed ist.