2011-01-08 8 views
3

私は2つのアプリケーションを持っています。最初に参照データをプロビジョニングするWebアプリケーションです.2番目は参照データが使用されるESBベースのアプリケーションです。参照データは変更されますが、あまり頻繁ではありません。参照データをキャッシュします。Webアプリケーション(私は所有者ではありません)は、休止状態を使用しました。しかし私のESBベースのアプリケーションはそうではありませんでした。私たちはEHCacheだけを使用しました。 参照データがESBアプリケーションに反映される必要のある独立したWebアプリケーションによって変更されたとき。メッセージキューを使用して実装されました。つまり、参照データが変更されるとWebアプリケーションがメッセージキューにメッセージを送信します。ESBアプリケーションはそのメッセージをリッスンします。&キャッシュをクリアします&再びデータをキャッシュします。これは動作しますが、時間がかかることがあります。状況を改善するためにHibernateをどのように使用できますか?私が見ることができるものからハイバーネイトを使用したキャッシング

よろしく、 Subhendu

+0

@Subendru Hibernateを使用してもこの問題は解決しません。キャッシュがあまりにも頻繁に消去されると、参照データは実際にはまれにしか変更されません。キャッシュの再投入に時間がかかりすぎる場合は、キャッシュの変更されたエントリだけをクリアしたい場合があります。 –

答えて

1

そうでもないHibernateの問題、。私はこれがキャッシングそのものであると言います。だから、私はいくつかの分散キャッシュ、特にInfinispanを見ることをお勧めします。このようにして、両方のアプリケーションが同じキャッシュを共有し、それを操作できます。 Hibernateをちょうど使用しているにもかかわらず、キャッシュがまだ異なるマシンにあり、異なる状態である場合、同じ問題に直面します。

...あなたはそれを制御することはできませんので、

0

一つの解決策は、HibernateのアプリでEHCacheなどを使用するかもしれないが、あなたが言うので、私はあなたのために見る唯一の方法は、費用を最小限にすることです多くの異なるキャッシュ領域を使用し、キャッシュされたデータのほんの一部のみを無効にします(今のやり方と同じ方法で)。

関連する問題