0

大きなハッシュマップ オブジェクトを格納するシングルトン Bean を使用している Spring MVC アプリがあります。私はNeoDatsオブジェクトDBを使用してこれを永続化しています。これは一種の検索エンジンアプリケーションであり、ハッシュマップオブジェクト(ブールキーワード検索エンジンよりも複雑です)を検索できるように使用しています。このハッシュマップオブジェクトは頻繁に更新されますユーザーからのデータ (分類データに追加するタグ) 現在の問題は、ユーザー アクションに基づいてハッシュマップ オブジェクトを NeoDatis DB に永続化していたことですが、大きなオブジェクトを保存するのに数秒かかる可能性があるため、ユーザーが保存するのが速すぎると、問題が発生することがあります。

私がやりたいのは、ユーザー アクションとこのハッシュマップ オブジェクトの保存の間の接続を削除し、5 秒ごとなど、自動的に発生するものにすることです。アプリを複数のサーバーで実行するように拡張する可能性があるため、すぐにこれを行う必要があるかもしれません。システム間でこれらのハッシュマップ オブジェクトを同期するためのやや複雑なシステムが存在し、DB を保存するためのユーザー アクションがあると信頼性が低くなりすぎます。おもう。

これにアプローチする方法がよくわかりません。シングルトンBeanインスタンスであるため、スレッドが機能するとは思わないため、スレッドを介してアクセスできるかどうかわかりません(ハッシュマップオブジェクトのデータが変更されるため)スレッドが開始された後)。これ/リソースへのアプローチ方法に関するアドバイスは大歓迎です

4

2 に答える 2

3

ExecutorService または Spring に組み込まれている Quartz タイマー サービスのいずれかをお勧めします。

于 2011-04-08T18:30:01.057 に答える
1

Quartzについて調べてみようと思います

于 2011-04-08T18:29:25.503 に答える