在依赖于UI的Vaadin 8应用程序中运行代码

时间:2018-03-28 10:12:09

标签: vaadin vaadin8

在早期版本中,您可以拥有一个实现ServletContextListener的类,并将您的代码放在contextInitialized方法中,以便它在服务器启动时运行。这对于将数据库加载到内存中非常有用。如何在Vaadin 8项目中实现这一目标?

1 个答案:

答案 0 :(得分:4)

以完全相同的方式:通过注册ServletContextListener。您可以使用@WebListener注释。例如:

public class WebConfig {

    @WebServlet("/*")
    @VaadinServletConfiguration(ui = VaadinUI.class, productionMode = false)
    public static class JdbcExampleVaadinServlet extends VaadinServlet {
    }

    @WebListener
    public static class JdbcExampleContextListener implements ServletContextListener {

        @Override
        public void contextInitialized(ServletContextEvent sce) {
            try {
                DatabaseService.init();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        @Override
        public void contextDestroyed(ServletContextEvent sce) {
            DatabaseService.shutdown();
        }
    }

}