3

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

我正在查看 Servlet.destroy() 中正在运行的代码,但这实际上是在实例脱机之前被调用的吗?

4

1 回答 1

2

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

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

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

contextDestroyed(ServletContextEvent event)从上面链接中有关 ServerContextListener 的文档中,目前看来,AppEngine在实例关闭时不会调用该方法。

于 2013-02-27T13:21:03.780 回答