在前端实例之前运行代码终止

时间:2013-02-27 07:53:53

标签: google-app-engine

如何在GAE前端实例终止之前运行一段代码?

我正在考虑在Servlet.destroy()中运行代码,但这实际上是在实例被拉下线之前调用的吗?

1 个答案:

答案 0 :(得分:2)

您可以使用LifecycleManager类为Java运行时注册关闭挂钩:

LifecycleManager.getInstance().setShutdownHook( new ShutdownHook()
{
    @Override
    public void shutdown()
    {
        // do your stuff here
    }
} );

您可以使用ServletContextListener为servlet添加启动挂钩,并将上面的代码放在contextInitialized(ServletContextEvent event)方法中。

从上面链接中有关ServerContextListener的文档中可以看出,当实例关闭时,AppEngine不会调用contextDestroyed(ServletContextEvent event)方法。