3

GAE フロントエンド インスタンスが終了する直前にコードを実行するにはどうすればよいですか?

Servlet.destroy() で実行中のコードを見ていますが、これは実際にインスタンスがオフラインになる前に呼び出されますか?

4

1 に答える 1

2

LifecycleManagerクラスを使用して、Java ランタイムのシャットダウン フックを登録できます。

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

ServletContextListenerを使用して、サーブレットの起動フックを追加し、上記のコードをcontextInitialized(ServletContextEvent event)メソッドに入れることができます。

contextDestroyed(ServletContextEvent event)上記のリンクの ServerContextListener に関するドキュメントから、現時点では、インスタンスのシャットダウン時に AppEngine がメソッドを呼び出さないようです。

于 2013-02-27T13:21:03.780 に答える