0

モデルは異なりますが、ダイレクト プロキシ構成は同じ 2 つのストアがあります。これらの 2 つのストアをロードすると (同時に両方のストアに対して store.load() を呼び出します)、ext は 1 つの要求 (両方のロードを含む) のみを送信し、2 番目のストアにはデータが取り込まれません。batchActions を false に設定しようとしましたが、成功しませんでした。サーバー側でext direct springを使用しています。

プロキシ構成:

プロキシー: {
        タイプ: '直接',
        バッチアクション: false,
        directFn:doctorDirectController.getAll、
        読者:{
            タイプ:「json」、
            ルート:「レコード」
        }
    }

タイムアウトを 1 秒に設定すると、すべて正常に動作します。

    this.doctorStore1.load();
    var me = this;
    setTimeout(関数() {
        me.doctorStore2.load();
    }、1000);

だから2つの質問:

  1. directproxy に getAll リクエストをバッチ処理させないようにする方法
  2. 2 番目のストアにデータが入力されていないのはなぜですか? リクエストとレスポンスには、一致する tid が含まれています。
4

1 に答える 1

0

Springに問題があることが判明しました。エンティティ間の循環参照を処理するために (ジャクソンのシリアル化中に問題が発生しました)、次の注釈を使用しました

@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@doctorId")

同時に 2 つのストアの読み込みが発生した場合、それらは 1 つのバッチでシリアル化され、1 つの応答で送り返されます。上記の注釈は、json シリアル化中にすべての重複を削除していたため、2 番目のストアにデータが取り込まれませんでした。

于 2015-03-22T09:51:34.083 に答える