Aleksandr Kravets
Aleksandr Kravets

Reputation: 5947

Vaadin: IllegalStateException "UI id has already been defined' after session timeout"

My Vaadin application throws following exception after session timeout and page refresh attempt.

java.lang.IllegalStateException: UI id has already been defined
    at com.vaadin.ui.UI.doInit(UI.java:519)
    at com.vaadin.server.AbstractCommunicationManager.getBrowserDetailsUI(AbstractCommunicationManager.java:2468)
    at com.vaadin.server.AbstractCommunicationManager.handleBrowserDetailsRequest(AbstractCommunicationManager.java:2362)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:325)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:201)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)...

I would appreciate any thoughts on what this means and why happens.

Upvotes: 0

Views: 738

Answers (2)

Gubber
Gubber

Reputation: 41

This code removes problem for me

@PreserveOnRefresh
public class MyVaadinUI extends UI {
...

Upvotes: 0

Aleksandr Kravets
Aleksandr Kravets

Reputation: 5947

In my case the reason of that exception was this Spring integration plugin. I guess it was managing UI instances as singletones. We decided to use manual Spring context creation. That solved the problem.

Upvotes: 0

Related Questions