在早期版本中,你可以有一个实现了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