2

我有一个使用 JSF 1.2 和 Servlets 2.3 和 Seam 2.2.0 的 JSF 应用程序。我想在每次应用程序关闭时运行一种备份。我尝试过像这样使用 ServletContextListener:

public class ApplicationStartupAction implements ServletContextListener {
@In
FormActionImpl formAction;

public void contextDestroyed(ServletContextEvent arg0) {
    System.out.println("Context destroyed");
    formAction.migrateForms();
}

    public void contextInitialized(ServletContextEvent arg0) {
    //Do nothing
    System.out.println("Startup");
    }

}

我想使用 FormActionImpl 类,因为它可以访问 JPA 处理程序和数据库,并且我需要访问数据库。这对于“forAction.migrateForms();”行不起作用(我得到一个空指针异常)。我最好的猜测是我不能使用注入,因为这些类在关闭的这个阶段已经被销毁了?

有没有办法在关机期间访问托管 bean?或者以其他方式使用 JPA?

4

0 回答 0