GAE フロントエンド インスタンスが終了する直前にコードを実行するにはどうすればよいですか?
Servlet.destroy() で実行中のコードを見ていますが、これは実際にインスタンスがオフラインになる前に呼び出されますか?
GAE フロントエンド インスタンスが終了する直前にコードを実行するにはどうすればよいですか?
Servlet.destroy() で実行中のコードを見ていますが、これは実際にインスタンスがオフラインになる前に呼び出されますか?
LifecycleManagerクラスを使用して、Java ランタイムのシャットダウン フックを登録できます。
LifecycleManager.getInstance().setShutdownHook( new ShutdownHook()
{
@Override
public void shutdown()
{
// do your stuff here
}
} );
ServletContextListenerを使用して、サーブレットの起動フックを追加し、上記のコードをcontextInitialized(ServletContextEvent event)
メソッドに入れることができます。
contextDestroyed(ServletContextEvent event)
上記のリンクの ServerContextListener に関するドキュメントから、現時点では、インスタンスのシャットダウン時に AppEngine がメソッドを呼び出さないようです。