JClientからのビジネス・コンポーネントに対する更新の遅延

注意: JDeveloper 10gから、JDeveloperの設計時ツールを使用するユーザーは、デフォルトでこのトピックで説明されている最適化を適用できます。

ADF Business Components用に提供されているAPIを使用してJDeveloperの外部でアプリケーションを開発する場合、およびJDeveloper設計時を使用しないでビジネス・コンポーネント・クライアントを生成する場合にこのトピックを使用します。

バッチ用ビジネス・コンポーネント・アプリケーション・モジュールの同期モードを設定することにより、ビジネス・コンポーネント・クラアント・アプリケーションからリモートでデプロイされるビジネス・コンポーネントに送信される検証の回数を減らし、ネットワーク通信量を改善できます。 バッチ・モードでは、ユーザーが行った属性値の変更は、ユーザーが変更の送信処理を実行するまでクライアント層に保持されます。 遅延同期モードとも呼ばれるように、バッチ・モードはネットワークの通信量を減らし、その結果、ビジネス・コンポーネントによる属性の検証も遅延します。

JDeveloper 10gより前のリリースでは、データの同期はデフォルトで即時モードです。これは変更が加えられるとすぐにその変更を適用するため、属性値の検証も即時に行われます。

注意: ローカル・モード・デプロイ(クライアントとビジネス・コンポーネントが同一のVMに存在する場合)では、同期モードは常に即時になります。

アプリケーション・モジュールの同期モードを設定するには、次のようにします(JDeveloper設計時以外)。

注意: ApplicationModuleImplを拡張するクラス内からのコールの場合は、ApplicationModuleインタフェースを実装しているため、次のように記述するだけで済みます。

ApplicationModule yourAm = panelBinding.getApplication().getApplicationModule();
yourAm.setSyncMode(SYNC_LAZY);

その他のクラス(クライアント・コードなど)内からコールする場合、次のように定数をインタフェース名で修飾する必要があります。

ApplicationModule yourAm = panelBinding.getApplication().getApplicationModule();
yourAm.setSyncMode(ApplicationModule.SYNC_LAZY);

JClientブートストラップ・コード内で、データ・コントロール・オブジェクトの作成直後にsetSyncMode()をコールする必要があります。または、getApplication()をコールして、JClientパネルのコンストラクタに同期モードを設定することもできます。同期モードを設定する場所は、同期モードをアプリケーション全体で維持するか、またはパネル・レベルで変更するかによって異なります。

JDeveloper 10gでクライアントの同期設定を変更するには、次のようにします。

  1. ナビゲータで、クライアントの.cpxファイルをクリックします。
  2. 「構造」ペインで、データ・コントロールをクリックします。
  3. プロパティ・インスペクタで、「同期モード」プロパティをクリックし、ドロップダウン・リストから適切なタイプを選択します。

Oracle ADF Business Componentsのバッチ・モードについて
バッチ・モードを使用するためのレガシー・アプリケーションの構成

 

Copyright © 1997, 2004, Oracle. All rights reserved.