在UI的Vaadin 8应用idependent运行代码(Run code in Vaadin 8

2019-10-30 06:29发布

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

Answer 1:

在完全相同的方式:通过注册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();
        }
    }

}


文章来源: Run code in Vaadin 8 application idependent of UI