JClientアプリケーションと、リモートにデプロイされたビジネス・コンポーネントとの間のネットワーク通信量は、アプリケーション・モジュールが属性値に変更を加える回数を減らすことによって改善できる場合があります。アプリケーション・モジュールの同期モードを遅延に設定すると、更新を遅らせることできます。デフォルトの同期モードは即時です。変更があればすぐにその変更を適用するため、ネットワーク通信量は増加します。
注意: ローカル・モード・デプロイ(クライアントとビジネス・コンポーネントが同一のVMに存在する場合)では、同期モードは常に即時になります。
アプリケーション・モジュールの同期モードを設定するには、次のようにします。
setSyncMode()
をコールし、次のように設定します。
ネットワークの最適化を優先せず、ビジネス・コンポーネントによる属性の検証をできるだけ多く行う場合は、SYNC_IMMEDIATE
に設定します。たとえば、このモードでクライアントが従業員の10の属性を設定している場合、設定された値ごとに検証を指定するために、コードではsetAttribute()
メソッドを10回コールすることになります。
または
ネットワーク通信量を少なくしてアプリケーションを最適化する場合は、SYNC_LAZY
に設定します。このモードでは、クライアント側の属性設定要求はデータの変更ごとではなく、クライアントが次にビジネス・コンポーネントにイベントを送るまでバッファされます。たとえば、クライアントが従業員の10の属性を設定している場合、コードではクライアントが次のような操作を行った後で、setAttribute()
メソッドをコールすることになります。
postChanges()
メソッドまたはcommit()
メソッドをコールvalidate()
メソッドをコール注意: ApplicationModuleImplを拡張するクラス内からのコールの場合は、ApplicationModuleインタフェースを実装しているため、次のように記述するだけで済みます。
SYNC_LAZY
その他のクラス(クライアント・コードなど)内からコールする場合、次のように定数をインタフェース名で修飾する必要があります。
ApplicationModule.SYNC_LAZY