JVM で実行した場合 (実際には Scala で記述されていますが、解決策は Groovy、Clojure、または純粋な Java でもほぼ同じであると考えがちです)、私のコンソール プログラムは、ユーザーがCtrl+を押しCて (またはシステムのシャットダウン シーケンス、プログラムに違いがあるかどうかはわかりません)、アプリケーションが変更する外部リソース (データベース、ファイル、Web サービスの抽象化されたリソース) が予測可能な非論理的に壊れた状態?
3 に答える
7
Runtime.addShutdownHookを見てください。
通常は次のように使用します。
Runtime.addShutdownHook(new Thread() {
public void run() {
// do your clean up here.
}
});
于 2012-02-03T12:06:13.703 に答える
3
このシグナルをトラップして、リソースを閉じることができます。ほとんどのサービスは適切に閉じる必要はありませんが、書き込むファイルは通常そうします。
シャットダウンフックを追加するだけで十分です。しかし、私はあなたの状況でこれをテストします。
于 2012-02-03T12:06:04.687 に答える