これは可能ですか?
4 に答える
適切なアーキテクチャを使用すれば、多くの種類のアプリケーションに対応できます。
GUI と「コア ロジック」を別々のプロセスに分割するだけで、GUI がクラッシュ後に実行中のバックエンド プロセスを検出して再接続できるようになります。
堅牢性をさらに高めるには、X のクラッシュによってシステム全体がダウンすることが多いため、バックエンドがネットワーク上で実行される従来のクライアント/サーバー アーキテクチャに移行します。
wrt が言ったことに加えて、バックエンド システムは HeadlessExceptions を監視し、それらを適切に処理することもできます。
X11 は、ウィンドウ マネージャーの基盤であり、そのウィンドウ環境で実行される Java Swing アプリケーションの基盤です。したがって、X11 がクラッシュした場合、できることはあまりありません。
X11 デスクトップ アプリケーションがクラッシュした X11 サービスから回復することは、それが Java で書かれているか他の言語で書かれているかにかかわらず、一般的には現実的ではありません。
しかし、そもそも Java アプリで問題が発生するのを防ぐことは可能かもしれません。長い間(5年以上)前にこれに対処しなければならなかったことを思い出します。Sun には、システム プロパティを設定して JVM に 2D グラフィックス アクセラレーションを使用しないように指示する回避策がありました。詳細は思い出せませんが、Sun の Web サイトで同等の解決策を見つけることができるかもしれません。