2011-01-15 7 views
9

DBに書き込むアプリケーションとDBから読み込むアプリケーションがある分散キャッシュでHibernateをセットアップしようとしています。書き込みアプリケーションがHibernateを通して書かれたときに、読書アプリケーションに通知する簡単な方法はありますか?分散キャッシュはキャッシュを無効にしますが、直ちにデータを更新するための変更が行われたことを知るには、読み取りアプリケーションが必要です。すべてのコンポーネントが必要な個々のビットを行うことがありますがHibernate分散キャッシュ - 複数のアプリケーションが同じキャッシュを共有できますか?

おかげで、あなたはいくつかの努力なしでこの作業を取得するつもりはない D

答えて

7

JBossCache、InfiniSpan、EHCacheなどの複製キャッシュを使用し、キャッシュを無効にする代わりに更新を複製するように設定します。例: http://docs.jboss.org/jbosscache/1.4.0/TreeCache/en/html/replication.html http://ehcache.org/documentation/distributed_caching.html

+0

デッドリンクplsはあなたの詳細を提供します回答。リンクのみの回答は時間の経過とともにうまく生き残れません。 – Gus

3

は、私は、と思います。

具体的には、HibernateにはJBossCache 2のための組み込みサポートが2nd-level distributed cacheとして組み込まれています。 JBossCache は、キャッシュ内の変更を監視するためのイベントアーキテクチャを提供します。

2つを結びつけて、ハイバネートが使用するJBossCache設定の変更を聞く方法を理解することが課題です。可能であれば、ちょっと読書をしなくてはなりません。

JBossCache2は少し古くなっていますが、Hibernateがすぐに使える最新バージョンです。 JBossCacheのWebサイトには、v3がHibernateで動作するようにするためのドキュメントがありますが、それには余分な作業が必要です。

編集:JBossCacheの開発が、その置換のために停止されているようです。Infinispan方法についてのドキュメントはintegrate that with Hibernateです。

+0

ご回答いただきありがとうございます。あなたの回答はお答えできません。私はいくつかの研究を行いました。私は単純に複製キャッシュを使用する必要があると思います。 (EHCache、Infinispan、JBossCacheはすべて、Hibernateでそのまま動作するレプリケーションキャッシュの実装を提供します)。複製キャッシュと分散キャッシュの違いは、複製キャッシュ内の追加/更新/削除がすべてのノードを更新することであり、通常の分散キャッシュでは無効になるだけである。 http://docs.jboss.org/jbosscache/1.4.0/TreeCache/en/html/replication.html –

+0

@DD:専門用語に惑わされることはなく、複製/配布とは何を意味するのでしょうか。上記の技術はすべてあなたが言及したことのいずれかを行います。 – skaffman

+0

あなたは何を意味するのかわかりません。これを行うには、イベントアーキテクチャを使用する必要はありません。キャッシュソリューションを複製することで、これをそのまま実行できます。だからあなたがその2つを結びつけるという挑戦を言うとき、それはそうではないようです。かなり簡単ですが、まだ試してみる必要があります:-) http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html#performance-cache –

関連する問題