瓦丁 "A connector with id xy is already registered"

标签 vaadin

在我的 Vaadin 应用程序中的某个地方,我使用第二个浏览器连接后立即收到此异常
Caused by: java.lang.RuntimeException: A connector with id 22 is already registered! at com.vaadin.ui.ConnectorTracker.registerConnector(ConnectorTracker.java:133)
它总是发生在同一个地方,但我不知道为什么会发生这种情况,原因一定是在其他地方。

我想我可能会从另一个 session 中窃取 UI 组件 - 这不是我的意图。
目前,我没有看到任何 static我可能在多个 session 中使用的 UI 组件实例。

我该如何调试?它已经成为一个相当大的项目。
有什么要寻找的提示吗?

最佳答案

是的,这通常是因为您附加了已附加在其他 session 中的组件。

尝试使用临时 ConnectorTracker 记录失败的连接器,所以下次它发生时,你可以捕获它。

例如:

public class SomeUI extends UI {

  private ConnectorTracker tracker;

  @Override
  public ConnectorTracker getConnectorTracker() {
    if (this.tracker == null) {
      this.tracker =  new ConnectorTracker(this) {

        @Override
        public void registerConnector(ClientConnector connector) {
          try {
            super.registerConnector(connector);
          } catch (RuntimeException e) {
            getLogger().log(Level.SEVERE, "Failed connector: {0}", connector.getClass().getSimpleName());
            throw e;
          }
        }

      };
    }

    return tracker;
  }
}

关于瓦丁 "A connector with id xy is already registered",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23881573/

相关文章:

java - Java中处理组件输入的最佳实践

java - 如何让用户使用 vaadin 文件下载器下载 zip 文件

Maven gwt :compile forks to a different Xmx

java - Vaadin ColorPicker IllegalArgumentException

javascript - Polymer - Vaadin 日期选择器; Vaadin 网格 : How to change date format?

jmeter - 如何使用 Vaadin 10 和 JMeter 执行负载测试/性能测试

hibernate - @Autowired lateinit 属性 '' 尚未初始化

java - 如何使用 Vaadin 将图像上传到 Canvas ?

java - 具有默认选项的 Vaadin 可编辑组合框

javascript - .js 和 .css 文件在我的 JSP 页面中作为文本/html 加载。