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();
。如果解决方法解决了问题,则很可能是由该错误引起的。如果不是,则还有一些其他问题需要进一步调查。
在 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();
。如果解决方法解决了问题,则很可能是由该错误引起的。如果不是,则还有一些其他问题需要进一步调查。