VAADIN 7:以 5 分钟为间隔刷新 Vaadin 视图的最简单方法是什么?

VAADIN 7: What is the simplest way to refresh a Vaadin View in 5 minute intervals?

我正在尝试对 Vaadin 视图中的组件列表实现自动刷新。该列表从数据库中获取其内容。我可以用一个按钮刷新列表,这已经实现了。

但是,我想知道最简单的方法是什么,我已经拥有的这个刷新事件会在 5 分钟(300 000 毫秒)间隔内自动刷新?

这是我尝试过的方法,即使在我退出视图后它仍会不断刷新,所以它并没有真正起作用。 我希望仅在显示特定视图时每隔 5 分钟刷新一次。

UI myUI = UI.getCurrent();  

            myUI.setPollInterval(300000);
            myUI.addPollListener(event -> {
                refreshList();
            });

我该怎么做才能在导航到其他视图后不刷新?在 Vaadin 中是否有一些更简单的方法可以做到这一点?谢谢

你可以打电话给

myUI.setPollInterval(300000);

当视图被激活时,您通过调用

禁用它
myUI.setPollInterval(-1);

当另一个视图被激活时。如果您使用 Vaadin Navigator,那么您可以使用 ViewChangeListener 来处理轮询。