代码之家  ›  专栏  ›  技术社区  ›  Basil Bourque

收听Vaadin web app关闭–Vaadin ServiceInitListener类的结束生命周期等价物是什么?

  •  0
  • Basil Bourque  · 技术社区  · 6 年前

    Vaadin Flow web应用正在启动,我们可以注册我们的 VaadinServiceInitListener 通过 SPI .在这个侦听器中,我们可以实现一个方法 serviceInit 哪个收到了 ServiceInitEvent 随着网络应用程序的启动。这个过程是 explained well in the manual .

    –web应用程序关闭的等价物是什么?

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

    我知道怎么在晚上做到这一点 Java/Jakarta Servlet 水平,在瓦丁下面。我们编写了一个类来实现 ServletContextListener 界面在这个类中,我们实现了 contextInitialized 方法在web应用启动时调用。我们实施 contextDestroyed 方法退出web应用时。由于Vaadin为发布提供了一个抽象概念,我想也许Vaadin也为退出提供了一个抽象概念。

    0 回复  |  直到 6 年前
        1
  •  2
  •   Leif Åstrand    6 年前

    没有专门的SPI来监听关机。相反,您可以使用相同的VaadinServiceInitListener SPI,并通过该寄存器 ServiceDestroyListener VaadinService 例子

    这样做的代码如下:

    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());
        });
      }
    }