如何在vaadin中使用PollListener?

时间:2014-06-23 10:24:33

标签: java spring vaadin vaadin4spring

我正在尝试使用以下代码在vaadin中使用PollListener

@VaadinUI
@PreserveOnRefresh
public class ApplicationUI extends UI {
    @Override
    protected void init(VaadinRequest request) {
        setPollInterval(1000);
        access(new Runnable() {
            @Override
            public void run() {
                System.out.println("TEST POLL: " + counter++); //is only printed a single time
            }
        });
    }
}

打开应用程序时,打印输出“TEST POLL 0”一次。但就是这样。我可能错过了什么?

1 个答案:

答案 0 :(得分:7)

你不必做任何事情,polling example明确指出:

  

通过执行此操作,浏览器将每次轮询服务器" timeout" ms和   检索任何可能挂起的更改

因此,无论您在应用程序中执行了什么操作,都会在下次轮询时在客户端浏览器上更新。在该示例中,您应该看到在加载UI后5秒钟显示标签,而没有任何特殊的用户交互。

但是,如果您需要为每个此类请求执行一些代码,那么您可以添加pollingListener

@Override
protected void init(VaadinRequest request) {
    setPollInterval(1000);
    addPollListener(new UIEvents.PollListener() {
        @Override
        public void poll(UIEvents.PollEvent event) {
            log.debug("Polling");
        }
    });
}