在Vaadin 8中,我能够使用UI的Grid
方法异步更新传入的websocket数据access
,这会锁定线程并执行更新,然后在没有客户端的情况下推送它们要求它。
access(() -> addMessage(message));
我现在正在尝试使用vaadin 10,并且由于你开始使用的主类没有扩展UI,我试图这样做:
UI.getCurrent().access((Command) () -> addTrade(message))
但是它不起作用,您必须单击页面上的某个位置才能进行更新。我在课堂上有@Push
注释,所以我相信服务器推送应该有效..非常感谢你们!
在我的servlet中:
asyncSupported = true
还尝试了this.getUI().get().access()
,仍然没有更新。
答案 0 :(得分:2)
这很可能是由当前正在修复的https://github.com/vaadin/flow/issues/3256引起的。
故障单还建议了一种解决方法:grid.getElement().getNode().markAsDirty();
。如果解决方法解决了问题,则很可能是由该错误引起的。如果没有,那么还有一些其他问题需要进一步调查。