如何从单独的线程向用户显示 Vaadin 通知

How to show a Vaadin Notification to the User from seperate Thread

我有一个 Quartz Job,它每 30 分钟检查一次是否有可用的软件更新。这是我在下面的代码中触发的。但是我在 UI.getCurrent() 处得到了一个 Nullpointer。我怎样才能使通知可见,独立于用户所在的页面?

@Service
@DisallowConcurrentExecution
public class SystemJobCheckForUpdates extends UI implements Job  {

@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
    UI.getCurrent().access(() -> {
        Notification.show("Update available");
    });
  }
}

“问题”是调度程序未与具体的 UI 实例相关联。

您需要将 UI 实例存储在全局变量中或为此使用某种广播/消息总线。