Java 如何在使用@PreserveOnRefresh for UI时关闭Vaadin 8.2中的通知

Java 如何在使用@PreserveOnRefresh for UI时关闭Vaadin 8.2中的通知,java,notifications,vaadin,backend,vaadin8,Java,Notifications,Vaadin,Backend,Vaadin8,我将我们的vaadin应用程序从8.1.7更新为8.2.0。我注意到通知发生了重大变化。重新加载页面将再次显示所有旧通知(由用户关闭),用户必须手动关闭它们。我们在UI中使用@PreserveOnRefresh注释,我注意到如果我删除@PreserveOnRefresh,则重新加载页面不会导致显示旧通知。我们正在使用@PreserveOnRefresh维护应用程序选项卡工作表中的选定选项卡。 我找到了一个既能保持@preserveonfresh,又能在重新加载页面时不显示旧通知的解决方案。通过添

我将我们的vaadin应用程序从8.1.7更新为8.2.0。我注意到通知发生了重大变化。重新加载页面将再次显示所有旧通知(由用户关闭),用户必须手动关闭它们。我们在UI中使用@PreserveOnRefresh注释,我注意到如果我删除@PreserveOnRefresh,则重新加载页面不会导致显示旧通知。我们正在使用@PreserveOnRefresh维护应用程序选项卡工作表中的选定选项卡。 我找到了一个既能保持@preserveonfresh,又能在重新加载页面时不显示旧通知的解决方案。通过添加closeListener(在Vaadin 8.2中添加)并手动删除通知,如下所示:

    Notification notification = new Notification("Parsing warning", message,
            Notification.Type.TRAY_NOTIFICATION);
    notification.setDelayMsec(-1);
    notification.addCloseListener((Notification.CloseListener) e -> e.getNotification().remove());
    notification.show(Page.getCurrent());
问题是,Vaadin开发人员是否考虑过如何使用@PreserveOnRefresh注释在通知中进行新的更改,是否有更好的方法来处理这个问题


如果不是,我想知道哪种解决方案更好:1-删除@PreserveOnRefresh并在重新加载页面后选择所选选项卡(通过将所选选项卡保存为会话属性),或2-为每个通知添加一个关闭侦听器并在close方法中手动删除它们

听起来像是回归,你应该在Github@Andr你可能是对的。我在瓦丁·福鲁姆写了一个问题。看看是否有人回答我否则我会制造问题