Vaadin Push 在 10(流程)中不起作用

Vaadin Push not working in 10 (flow)

在 Vaadin 8 中,我可以使用 UI 的 access 方法使用传入的 websocket 数据异步更新 Grid,它会锁定线程并执行更新,然后无需客户请求即可推送它们。

access(() -> addMessage(message));

我现在正在尝试使用 vaadin 10,并且由于您开始使用的主要 class 没有扩展 UI,我正在尝试这样做:

UI.getCurrent().access((Command) () -> addTrade(message))

但是它不起作用,您必须单击页面上的某个位置才能进行更新。我在 class 上有 @Push 注释,所以我相信服务器推送应该有效。非常感谢你们!

在我的 servlet 中:

asyncSupported = true

也试过了this.getUI().get().access(),还是没有更新。

这很可能是由于 https://github.com/vaadin/flow/issues/3256 目前正在修复。

票证还建议了一种解决方法:grid.getElement().getNode().markAsDirty();。如果解决方法解决了问题,则很可能是由该错误引起的。如果不是,则还有一些其他问题需要进一步调查。