大容量キャッシュの管理

ビュー・オブジェクトから非常に大きな結果セットが返される場合、ビュー・オブジェクト・キャッシュ内のすべての行を保持すると、メモリー制限に対する違反になる場合があります。

大きな結果セットによってメモリーに問題が発生している場合、Oracle ADF Business Componentsでは、ビュー行の自動書出しを使用して、ビュー・オブジェクト・キャッシュの使用されていない部分をデータベースに書き出すことでメモリーから解放します。

ビュー行の自動書出しが使用できない場合、ビュー・オブジェクト・インスタンスのビュー・キャッシュは、ノードと呼ばれる小さい行セットに分割され、高速検索を実現するためにバイナリ・ツリーに格納されます。キャッシュが大きくなりすぎると、Oracle ADF Business Componentsによって、使用日付が最も古いノードがデータベースに書き出されます。

ビュー行の自動書出しを有効にするには、次のようにします。

  1. ビジネス・コンポーネントのシステム・プロパティjbo.use.pers.colltrueに設定します。
  2. ビジネス・コンポーネントのシステム・プロパティjbo.pers.max.rows.per.nodeを、ノードの分割以前に追加される行の最大数に設定します。この数字は5以上とする必要があります。デフォルトは70です。
  3. jbo.pers.max.active.nodesを、Oracle ADF Business Componentsによってデータベースへのノードの書出しが開始される前にメモリーに保存できるノードの最大数に設定します。データベースへの書出しを行うことなく任意の数のノードを許可する場合は、このプロパティを-1に設定します。それ以外では、この数字は2以上とする必要があります。デフォルトは10です。

ビジネス・コンポーネントのチューニング
Oracle ADFビュー・オブジェクトについて
Oracle ADF Business Componentsのキャッシュ管理について
ビュー・オブジェクトのキャッシュの内容の消去