diff options
-rw-r--r-- | server/src/com/vaadin/server/VaadinService.java | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/server/src/com/vaadin/server/VaadinService.java b/server/src/com/vaadin/server/VaadinService.java index 7d93904248..43d37a72b3 100644 --- a/server/src/com/vaadin/server/VaadinService.java +++ b/server/src/com/vaadin/server/VaadinService.java @@ -880,6 +880,7 @@ public abstract class VaadinService implements Serializable { * */ public UI findUI(VaadinRequest request) { + // getForSession asserts that the lock is held VaadinSession session = VaadinSession.getForSession(this, request.getWrappedSession()); @@ -887,16 +888,10 @@ public abstract class VaadinService implements Serializable { String uiIdString = request.getParameter(UIConstants.UI_ID_PARAMETER); int uiId = Integer.parseInt(uiIdString); - // Get lock before accessing data in session - session.lock(); - try { - UI ui = session.getUIById(uiId); + UI ui = session.getUIById(uiId); - UI.setCurrent(ui); - return ui; - } finally { - session.unlock(); - } + UI.setCurrent(ui); + return ui; } /** |