次のコードがあります。
public static void main(String[] args) {
// login event
String event = "login";
System.out.printf("Handling event: %s %s\n",event,getCurrentLogin());
sendMessage(event, getCurrentLogin());
// logout or shutdown event
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
@Override
public void run() {
String event = "logout";
System.out.printf("Handling event: %s %s\n",event,getCurrentLogin());
sendMessage(event, getCurrentLogin());
}
}));
}
ユーザーのログインとログアウトを記録するための非常に単純なプログラムです。問題は、関数 main() の最後に到達するとプログラムが終了することです。
シャットダウン イベント フックを正しく使用していますか? 複雑な Windows サービスを作成したくありません。リモート接続された Windows セッションに使用されるため、非常に単純なアプリケーションでなければなりません。
ログインの終了を待つバックグラウンドについて何か提案はありますか?