在Vaadin 8中,我能够使用UI的access方法异步更新带有传入websocket数据的websocket数据,该方法锁定线程并执行更新,然后推送它们,而无需客户端请求。
access(() -> addMessage(message));我现在正在尝试使用vaadin 10,并且由于您开始使用的主类不扩展UI,所以我尝试这样做:
UI.getCurrent().access((Command) () -> addTrade(message))但是它不起作用,您必须单击页面上的某个地方才能进行更新。我在类上有@Push注释,所以我认为服务器推送应该能工作。太感谢你们了!
在我的servlet中:
asyncSupported = true也尝试过this.getUI().get().access(),还没有更新。
发布于 2018-04-06 06:17:44
这很可能是由目前正在修复的https://github.com/vaadin/flow/issues/3256造成的。
门票还提供了一个解决办法:grid.getElement().getNode().markAsDirty();。如果解决了这个问题,那么它很可能是由这个错误引起的。如果没有,还有其他一些问题需要进一步调查。
https://stackoverflow.com/questions/49683763
复制相似问题