侦听 Vaadin Web 应用程序关闭 — VaadinServiceInitListener 类的结束生命周期等效项



Vaadin FlowWeb应用程序启动时,我们可以注册VaadinServiceInitListener的实现,以便通过SPI自动实例化。在该侦听器中,我们可以实现一个方法serviceInit该方法在 Web 应用程序启动时接收ServiceInitEvent。这个过程在手册中得到了很好的解释。

➥ 网络应用程序关闭的等效项是什么?

➥ Vaadin 应用程序即将结束时,在哪里执行拆卸和清理工作?

我知道如何在Vaadin下面的Java/Jakarta Servlet级别做到这一点。我们编写一个实现ServletContextListener接口的类。在该类中,我们实现要在 Web 应用启动时调用的contextInitialized方法。我们在 Web 应用程序退出时实现contextDestroyed方法。由于 Vaadin 为启动提供了对此的抽象,我认为也许 Vaadin 也为退出提供了抽象。

没有任何专用的 SPI 用于侦听关机。相反,您可以使用相同的VaadinServiceInitListener SPI,并通过该SPI向VaadinService实例注册ServiceDestroyListener

因此,执行此操作的代码将是这样的:

public class MyServiceListener implements VaadinServiceInitListener {
@Override
public void serviceInit(ServiceInitEvent event) {
VaadinService service = event.getSource();
service.addServiceDestroyListener(destroyEvent -> {
System.out.println("Destroy event for service " + destroyEvent.getSource());
});
}
}

相关内容

  • 没有找到相关文章

最新更新