2016年

6月

07日

【JPIERE-0181】FindWindowクラスのパフォーマンス改善

 FindWindowクラスは、iDempiereのウィンドウで虫眼鏡アイコンを押すと呼び出され、データ検索を担います。

データ検索を担うFindWindowクラス
データ検索を担うFindWindowクラス

 このFindWindowクラスですが、実際にデータ検索を行い、データを表示するまでの間に、データ件数を複数回カウントしています。データ件数を複数回カウントする事は無駄でありシステムリソースを浪費し、ユーザーにとっても操作感が悪くなります。

 そこで、JPiereでは、システムリソースを大幅に浪費する可能性があるウィンドウについては、データ件数のカウントを1回で済むように、改善致しました。なお、改善の対象となるシステムリソースを大幅に浪費する可能性があるウィンドウとは、テーブルの大量データフラグがONになっているか、もしくはウィンドウタイプがトランザクションのウィンドウです。

 そして、タブのWhere条件に、"<ターブル名+_ID> = 0"の条件が含まれている場合は、登録専用のウィンドウとして、データ件数のカウントを行わないようにしています。

技術情報

更新クラス

  • org.adempiere.webui.window.FindWindow(jpiere.modification.org.adempiere.ui.zk)