如何解决Vaadin 14 浏览器支持多标签
Vaadin 14 是否支持打开多个浏览器选项卡?当我在浏览器中打开新选项卡时,两个选项卡都同步工作,因此当一个选项卡中的代码正在执行时,我在第二个选项卡中的操作正在等待从第一个选项卡到结束的代码。有没有办法让两个浏览器卡同时工作?我仍然希望允许用户在每个浏览器中仅登录一次。
解决方法
Vaadin 在处理任何可能改变服务器端状态的请求时获取整个会话的锁。如果有多个 UI 属于同一个会话,则它们共享该锁。这是一个基本的架构设计选择,如果不进行大量内部返工,就无法避免。
推荐的处理方法是避免在持有该锁时做缓慢的事情。这通常意味着您将实际工作提交到后台线程,然后将 UI::access
与 @Push
或 UI::setPollInteval
结合使用来更新 UI 并使这些更改在浏览器中可用一次后台工作完成。
每个浏览器选项卡都是不同的用户界面,但它们共享相同的会话。 Vaadin 14 不限制打开多个 UI,但如果您的登录逻辑与 UI 相关联,则可能会如此。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。