遅いバックエンドに対して、ページング可能なテーブル(DataTable)にデータをプリロードしてキャッシュするように求められました。wicketページテーブルにデータをプリロードする
アイデアは、ISortableDataProviderでキャッシュを維持し、ページごとに表示するよりも大きなチャンクをバックエンドに求めることです。このようにして、ユーザーは次の表ページに切り替えるたびに待つ必要はありません。
困った部分は、次のチャンクをフェッチすることがバックグラウンドで実行されるという考え方です。良いアプローチは何でしょうか?
a)のフェッチ
Bへの新しいバックグラウンドスレッドを開始)背景がフェッチ(およびキャッシュに格納しないAjax呼び出しをトリガー)
私は本当にオプションのいずれか好きではありません私はいくつかの問題を予見しています。
コメントがありますか?
私は過去にバックグラウンドスレッドを使用しました。私はそれがお気に入りの解決策であるかどうかわかりません。だから、あなたが最終的に何をするのか聞いてみたいと思います。私の場合、ISortableDataProviderを持つツリーを使用していたので、ページングナビゲータを構築するためにデータセット全体のサイズを知る必要はなかったため、少し異なります。私がやったのは、ユーザがすぐに必要とする初期セットをキャッシュにロードしてから、残りのスレッドをロードするためにバックグラウンドスレッドを使用することでした。 ISortableDataProviderはキャッシュからデータを要求します。 – JeredM