編集中カルテの自動一時保存機能
その時,突然画面から書きかけのカルテが消えた。直前まであったはずのカルテウインドウは忽然と姿を消し,デスクトップには紅葉に映えるシエラネバダ山脈 - High Sierra - の美しい景色が広がっていた。OpenDolphin の礎たる Java VM が何の託ち言も残さず突然落ちたのだ。こんな悲劇が現実に起こり得て,しかも,まさに今,実際に目の前で起きたのだと,そう認識するまでにやや数秒を要した。
泣きながらカルテを入力し直し,そして,このような悲劇を2度と繰り返すことがあってはならない,その強い思いから,編集中カルテを 1秒ごとに一時ファイルとしてローカルディスクに保存する機能 Autosave を付けた。
Autosave は 1秒ごとに KarteEditor の dirty 状態をチェックし,dirty だった場合,KartePaneDumper_2 でカルテ内容を dump して AutosaveModel を作り,さらに json 化してローカルの一時ファイルに保存する。正常にカルテ編集が終了すれば一時ファイルは削除されるが,Java VM が落ちたりした場合は一時ファイルが残る。ChartImpl 立ち上げ時に一時ファイルをチェックして,もし一時ファイルがあれば DocumentModel を復元して KarteEditor に渡し,カルテ編集中状態を回復する。
バックグランドで動作し,保存にかかる時間は数ミリ秒,シェーマの encode があっても 50ミリ秒程度以下で,パフォーマンスにはほとんど影響なかった。
がんばってプログラムしたが,実際にはこの機能が使われる日が来ないことを祈りたい。
« domU の orca サーバを ubuntu 16.04 にアップグレード | トップページ | NetBeans から IntelliJ に移行 »
「OpenDolphin」カテゴリの記事
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)
- Java 17 への移行(4) - OpenSearch の準備 [ubuntu 編](2023.02.01)
- Java 17 への移行(3) - OpenSearch の準備 [mac 編](2023.01.31)