问题描述
Vaadin 14
- 我们使用Vaadin应用程序上线了。这是我第一次上线。当我们尝试使用倍数标签重新加载整个页面时(从数据库填充内容)。仅当服务器上的负载增加(10人以上)时,才会出现此错误。当一两个人使用该应用程序时,不会出现此类错误/异常。
private void reloadAssignmentButton_onClick(final ClickEvent<Button> event)
{
try
{
this.clearallLayouts();
this.makeAllTabsInVisible();
AssignmentFileDashboardView.log.info(UI.getCurrent().getSession().getAttribute(ConfigProperties.SESSION_KEY)
+ "::AssignmentFileDashboardView:::reloadAssignmentButton_onClick:::::CAN_FILE_NUMBER"
+ UI.getCurrent().getSession().getAttribute(ConfigProperties.CAN_FILE_NUMBER).toString());
this.loadAssignment(
Long.parseLong(UI.getCurrent().getSession()
.getAttribute(ConfigProperties.CAN_FILE_NUMBER).toString()));
AssignmentFileDashboardView.tabs.setSelectedTab(AssignmentFileDashboardView.assignmentTab);
}
catch(final Exception e)
{
AssignmentFileDashboardView.log
.error(UI.getCurrent().getSession().getAttribute(ConfigProperties.SESSION_KEY)
+ "::AssignmentFileDashBoardView::assignmentRefreshButton_buttonClick::error:: " + e.getMessage()
+ e.getStackTrace(),e);
}
}
这是我的tomcat配置:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="30000" redirectPort="8443" maxThreads="1000" minSpareThreads="50" acceptCount="300" enableLookUps="false" maxKeepAliveRequest = "1"/>
(最初,我以为该选项卡可能会出现问题,并且我将选项卡更改为多个按钮,以为该按钮将始终调用click事件,但现在按钮有时也会执行相同的操作。)
我们还活着,请帮助我。预先感谢。
解决方法
- 我的UI是父页面。
- 该父页面具有垂直布局,其中子页面正在打开。
- 此父页面具有一些按钮(需要通过子页面事件显示和隐藏),标签(需要通过子页面事件显示和隐藏),标签(需要通过子页面事件更新)诸如此类的东西。
- 为了进行所有这些更新,我将父级“ Vaadin组件”设为静态,因为我无法创建父级页面的对象,因为我们需要在打开页面时对其进行更新。
就我而言,拥有“静态” Vaadin组件给了我这个问题以及许多其他问题。在这种情况下,一个工作的人没有遇到任何问题。但是当开始生产时,这使我的生活很痛苦。
学习:请不要尝试将Vaadin组件设置为“静态”。实际上,请尽量避免使用“静态”关键字(如果您不知道后果,在这种情况下就是我)。