注意: JDeveloper 10gから、JDeveloperの設計時ツールを使用するユーザーは、デフォルトでこのトピックで説明されている最適化を適用できます。
ADF Business Components用に提供されているAPIを使用してJDeveloperの外部でアプリケーションを開発する場合、およびJDeveloper設計時を使用しないでビジネス・コンポーネント・クライアントを生成する場合にこのトピックを使用します。
バッチ用ビジネス・コンポーネント・アプリケーション・モジュールの同期モードを設定することにより、ビジネス・コンポーネント・クラアント・アプリケーションからリモートでデプロイされるビジネス・コンポーネントに送信される検証の回数を減らし、ネットワーク通信量を改善できます。 バッチ・モードでは、ユーザーが行った属性値の変更は、ユーザーが変更の送信処理を実行するまでクライアント層に保持されます。 遅延同期モードとも呼ばれるように、バッチ・モードはネットワークの通信量を減らし、その結果、ビジネス・コンポーネントによる属性の検証も遅延します。
JDeveloper 10gより前のリリースでは、データの同期はデフォルトで即時モードです。これは変更が加えられるとすぐにその変更を適用するため、属性値の検証も即時に行われます。
注意: ローカル・モード・デプロイ(クライアントとビジネス・コンポーネントが同一のVMに存在する場合)では、同期モードは常に即時になります。
アプリケーション・モジュールの同期モードを設定するには、次のようにします(JDeveloper設計時以外)。
ApplicationModuleImpl
クラスのsetSyncMode()
をコールし、次のように設定します。
yourAm.setSyncMode(ApplicationModule.SYNC_IMMEDIATE);
ネットワークの最適化を優先せず、ビジネス・コンポーネントによる属性の検証をできるだけ多く行う場合は、SYNC_IMMEDIATE
に設定します。たとえば、このモードでクライアントが従業員の10の属性を設定している場合、設定された値ごとに検証を指定するために、コードではsetAttribute()
メソッドを10回コールすることになります。
または
yourAm.setSyncMode(ApplicationModule.SYNC_LAZY);
ネットワーク通信量を少なくしてアプリケーションを最適化する場合は、SYNC_LAZY
に設定します。このモードでは、クライアント側の属性設定要求はデータの変更ごとではなく、クライアントが次にビジネス・コンポーネントにイベントを送るまでバッファされます。この他にアプリケーション・コードを変更する必要はありません。 たとえば、クライアントが従業員の10の属性を設定している場合、コードではクライアントが次のような操作を行った後で、setAttribute()
メソッドをコールすることになります。
postChanges()
メソッドまたはcommit()
メソッドをコール
validate()
メソッドをコール
注意: 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でクライアントの同期設定を変更するには、次のようにします。
.cpx
ファイルをクリックします。
Oracle ADF Business Componentsのバッチ・モードについて
バッチ・モードを使用するためのレガシー・アプリケーションの構成
Copyright © 1997, 2004, Oracle. All rights reserved.