Javaでアプリケーション終了イベントを処理するにはどうすればよいですか?
質問
コンソール アプリケーション、クライアントからの複数の接続を受け入れるサーバーがある場合、終了アプリケーションにリスナーまたはイベントを設定することは可能ですか?このイベントでは、アプリケーションが実際に終了する前に、接続されているすべてのクライアントにそっと切断するように指示したいと考えています。
解決策はありますか?ありがとう!
解決
シャットダウンフックを使用したい場合:
Runtime.getRuntime().addShutdownHook(theHookThread);
したがって、スレッドは JVM のシャットダウン時に実行されます。を参照してください。 ここ 詳細については。
他のヒント
は、アプリケーションを閉じて、サーバー・プロセスを殺すオペレーティングシステムを意味するか?
は、そのような状況では、サーバは、それが殺されている知る方法はありません。これは、既存の接続をドロップします。
は、アプリケーションを閉じて、あなたが(おそらく、サーバーコンソールで「exit」と入力して)手動でサーバーを閉じるには、SYS管理者のための方法を提供する場合。そして、closingイベントはカスタムイベントとなり、あなたはリスナーをコーディングし、サーバーがシャットダウンしているすべての人に通知しなければなりません。このシナリオでは、それがかのうです。
サーバーが構築されたか、それがどのように機能するかされる方法の詳細を追加してみてください。
所属していません StackOverflow